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

Cách an toàn 100% để lưu trữ html trong MySQL

Trong hầu hết các trường hợp, dễ dàng tránh được việc tiêm SQL bằng cách sử dụng các câu lệnh đã chuẩn bị sẵn.

XSS khó hơn nếu bạn định cho phép người dùng đăng đánh dấu HTML. Bạn cần xóa tất cả <script> , tất cả on* thuộc tính từ các thẻ, tất cả javascript: url, và thậm chí sau đó, điều đó có thể không được đảm bảo hoàn toàn để làm cho HTML đầu vào an toàn. Có các thư viện như HTMLPurifier điều đó có thể hữu ích, nhưng miễn là bạn cho phép HTML, bạn sẽ có nguy cơ để cho thứ gì đó độc hại lọt qua.

Thay vào đó, bạn có thể sử dụng một thư viện thực thi một cái gì đó chẳng hạn như markdown hoặc wikitext. Điều này hạn chế nghiêm trọng những gì người dùng có thể nhập, trong khi vẫn cho phép họ đánh dấu nội dung ở một mức độ nào đó. Nó không hoàn toàn an toàn (mọi người vẫn có thể đăng liên kết đến các trang web độc hại và hy vọng người dùng nhấp vào chúng, điều mà một số người sẽ thực sự ngây thơ để thực hiện) và bạn sẽ không thể sử dụng một trình chỉnh sửa phong phú như TinyMCE mà không có một số loại của plugin, nhưng công việc khử trùng đánh dấu đơn giản hơn nhiều so với khử trùng HTML.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ý nghĩa của id =LAST_INSERT_ID (id)

  2. Nắm bắt các giá trị của các phần tử HTML trong một bảng động

  3. Tại sao Rails bỏ qua Rollback trong một giao dịch lồng nhau (giả)?

  4. Truy vấn MySQL để tìm 3 ngày mới nhất trong bảng

  5. Truy vấn theo sau mất quá nhiều thời gian để thực thi. Làm thế nào để tối ưu hóa nó