cùng với nhu cầu viết những ứng dụng ngày càng mở rộng chức năng cho người dùng, thì các chức năng cho phép thành viên post nội dung là 1 thao tác tất yếu. Tuy nhiên, cho phép thành viên gởi nội dung sẽ làm phát sinh hầu hết nguy cơ đe dọa đến sự an toàn của website, trong ấy có một mối đe dọa vô cùng rộng rãi đấy là tấn công Cross-Site Scripting (XSS).
>>> Xem thêm: Thiet ke website theo yeu cau
nói sơ qua về tấn công XSS. XSS hiện tồn tại 2 hình thức là Stored XSS và Reflected XSS. Stored XSS là hình thức tấn công mà ở đấy cho phép kẻ tấn công có thể chèn một đoạn script nguy hiểm (thường là Javascript) vào website của chúng ta thông qua một chức năng nào đó (vd: viết lời bình, guestbook, gởi bài..), để từ đó khi các thành viên khác truy cập website sẽ bị dính mã độc từ kẻ tấn công này, những mã độc này thường được lưu lại trong database của website chúng ta bắt buộc gọi là Stored. Stored XSS phát sinh do chúng ta không lọc dữ liệu do thành viên gởi lên 1 phương pháp đúng đắn, làm cho mã độc được lưu vào Database của website.
Hình thức thứ 2 là Reflected XSS. Trong hình thức này, kẻ tấn công thường gắn thêm đoạn mã độc vào URL của website chúng ta và gởi đến nạn nhân, ví như nạn nhân truy cập URL ấy thì sẽ bị dính mã độc. Điều này xảy ra do ta không quan tâm filter input từ URL của website mình.
Tấn công XSS là tấn công nguy hiểm, cho phép kẻ tấn công ăn cắp thông tin trên máy nạn nhân thông qua javascript như ăn cắp cookie, chèn mã độc để chiến quyền điều khiển…
—————————————–
Như vậy, để phòng chống rẻ nhất XSS là theo nguyên tắc FIEO (Filter Input, Escape Output). Để làm việc này thì ngày nay với hơi nhiều bộ lọc để chúng ta lựa tậu. Hôm nay mình giới thiệu đến người mua một bộ thư viện viết bằng PHP cho phép filter HTML để ngăn chặn kẻ xấu post mã độc XSS thông qua website của bạn, đấy là HTML Purifier.
kể sơ qua về HTML Purifier thì đây là bộ thư viện rất mạnh tiêu dùng triển khai trong code của mình để chống XSS. Được xây dựng theo mô hình OOP cần tiêu dùng cực kỳ dễ, sau thao tác include file thư viện, chỉ buộc phải tạo instance của đối tượng HTML Purifier và gọi phương thức purify() là mang thể filter được dữ liệu đầu vào.
require_once '/path/to/htmlpurifier/library/HTMLPurifier.auto.php';
$purifier = new HTMLPurifier();
$clean_html = $purifier->purify($dirty_html);
Bảng so sánh giữa những bộ thư viện filter HTML để chống XSS:
một số chức năng chính của thư viện HTML Purifier
Hy vọng bài viết này sản xuất cho người dùng phần nào về mối đe dọa và phòng giảm thiểu XSS trong quá trình triển khai ứng dụng web của bạn.
>>> mang thể bạn quan tâm: Thiết kế website chuẩn seo







0 nhận xét:
Đăng nhận xét