Số là nhiều người sử dụng đã "chia sẻ" cho nhau
một đoạn code nhằm thêm tính năng hiển thị thảo luận ở cuối bài viết của Module News của NukeViet. Không may là đoạn cdoe này vướng phải lỗi bảo mật do bỏ qua hoàn toàn các chế độ kiểm duyệt của hệ thống NukeViet.
Thông thường, trước khi nhập liệu vào CSDL, hệ thống phải kiểm soát
tính hợp lệ của dữ liệu được nhận từ các form. Với phần thảo luận của
News, cần phải kiểm duyệt: Hệ thống có cho phép thành viên gửi bài viết
hay không, Module News có cho phép thảo luận hay không, Bài viết cụ thể
XYZ có cho phép thảo luận hay không, Ai được phép thảo luận: tất cả hay
chỉ có thành viên; dữ liệu nhập vào có hợp lệ hay không... Thế mà, đoạn
mã trên đã bỏ qua tất cả các "cửa ải" cần thiết trước khi cho phép
"đăng đàn". - Anhtu nói.
Ngày 31 Tháng 5 2008, anhtu - Admin diễn đàn NukeViet.VN - đã phát hiện ra lỗi này khi trợ giúp một thành viên sử dụng NukeViet. Khi đó, đã có khá nhiều site sử dụng đoạn code này, đa phần là các site sử dụng bản NukeVN.
Anhtu khuyến cáo:
- Các bạn viết hướng dẫn hay đưa các blocks, modules lên diễn đàn phải
cân nhắc thật cẩn thận, chú ý cao độ đến tính bảo mật chứ đừng nhìn
thấy "có kết quả" là vội mừng, bỏ qua các đòi hỏi khác.
- Các bạn
download các blocks, modules do thành viên đưa lên diễn đàn hay thực
hiện theo hướng dẫn của người khác chưa qua kiểm duyệt phải rà soát
thật kỹ càng; kiểm tra "sâu bọ"... Hãy thử nghiệm trước trên localhost;
Thường xuyên ghé thăm topic mà bạn đã download files hay xem hướng dẫn.
Khi thấy thực sự ổn định, lúc đó mới mạnh dạn đưa lên site.
Thông tin chi tiết về lỗi này có tại đây:
http://nukeviet.vn/phpbb/viewtopic.php?f=58&t=3319
Hướng dẫn vá lỗi có tại đây:
http://nukeviet.vn/phpbb/viewtopic.php?f=47&t=3320