Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Markdown (với dải_tag) có đủ để ngăn chặn các cuộc tấn công XSS không?

Tôi nghĩ rằng việc loại bỏ bất kỳ thẻ HTML nào khỏi đầu vào sẽ giúp bạn có được thứ gì đó khá an toàn - ngoại trừ nếu ai đó tìm cách đưa một số dữ liệu thực sự lộn xộn vào Markdown, thì việc nó tạo ra một số đầu ra thậm chí còn lộn xộn hơn ^^

Tuy nhiên, đây là hai điều tôi nghĩ đến:

Điều đầu tiên: strip_tags không phải là một chức năng thần kỳ:nó có một số sai sót ...
Ví dụ:nó sẽ loại bỏ mọi thứ sau dấu '<', trong một tình huống như thế này:

$str = "10 appels is <than 12 apples";
var_dump(strip_tags($str));

Đầu ra tôi nhận được là:

string '10 appels is ' (length=13)

Điều này không tốt cho người dùng của bạn :-(


Điều thứ hai: Ngày này hay ngày khác, bạn có thể muốn cho phép một số thẻ / thuộc tính HTML; hoặc ngay cả ngày hôm nay, bạn có thể muốn chắc chắn rằng Markdown không tạo một số Thẻ / thuộc tính HTML.

Bạn có thể quan tâm đến một cái gì đó như HTMLPurifier :nó cho phép bạn chỉ định những thẻ và thuộc tính nào nên được giữ lại và lọc một chuỗi để chỉ những thẻ đó còn lại.

Nó cũng tạo ra mã HTML hợp lệ - luôn tốt ;-)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. có điều kiện cập nhật khóa trùng lặp

  2. Lỗi MySQL 1170 (42000):Cột BLOB / TEXT được sử dụng trong đặc điểm kỹ thuật chính mà không có độ dài khóa

  3. Hàm xác định trong mysql

  4. MySQL - Không thể tạo Chế độ xem với biến SET bên trong

  5. Hiển thị kết quả MySQL theo ngày