Tôi chạy một trang web mạng xã hội thích hợp. Tôi muốn không cho phép nội dung HTML trong các tin nhắn do người dùng đăng; chẳng hạn như video được nhúng v.v. tùy chọn nào có trong php để làm sạch điều này trước khi tôi chèn vào db.PHP: Làm thế nào tôi có thể không cho phép nội dung HTML trong nội dung do người dùng tạo?
7
A
Trả lời
3
Bạn có thể sử dụng chức năng strip_tags()
.
14
Có ba giải pháp cơ bản:
- Strip tất cả các thẻ HTML từ đường bưu điện. Trong PHP, bạn có thể thực hiện điều này bằng cách sử dụng hàm
strip_tags()
. - Mã hóa tất cả các ký tự để nếu người dùng nhập
<b>hello</b>
, nó hiển thị là<b>hello</b>
. Trong PHP, đây là hàmhtmlspecialchars()
. (Lưu ý: trong trường hợp này, bạn thường lưu trữ nội dung trong cơ sở dữ liệu như hiện tại và sử dụng htmlspecialchars bất cứ nơi nào bạn xuất nội dung.) - Sử dụng trình vệ sinh HTML như HTML Purifier. Điều này cho phép người dùng sử dụng một số định dạng HTML nhất định như in đậm/in nghiêng, nhưng chặn Javascript độc hại và bất kỳ thẻ nào khác mà bạn muốn (ví dụ:
<object>
trong trường hợp của bạn).
+0
Cảm ơn. Đó là những đề xuất 'hoặc/hoặc', hay' và'? – JDelage
+1
@JDelage Hoặc là hoặc, ngoại trừ nếu bạn sử dụng 'strip_tags', bạn cũng nên sử dụng' htmlspecialchars' để mã hóa bất kỳ phần thừa nào lớn hơn/ít hơn ký hiệu cũng như dấu ngoặc kép và ký hiệu. – DisgruntledGoat
Các vấn đề liên quan
- 1. nội dung UIScrollView không cho phép người dùng tương tác
- 2. Thẻ HTML nào không có nội dung
- 3. Cách nhận nội dung yêu cầu (nội dung) trong PHP?
- 4. Tôi có thể viết nội tuyến nếu có nội dung HTML không?
- 5. Cách tạo nội dung có thể tab trong WPF/C#?
- 6. Tôi làm cách nào để mã hóa nội dung của người dùng trên trang web của mình để thậm chí tôi không thể truy cập nội dung?
- 7. Tải nội dung của tệp do người dùng tải lên trước khi lưu
- 8. Nội dung không được phép giữa các thẻ mở và đóng để điều khiển người dùng
- 9. Làm cách nào để cho phép người dùng duyệt nội dung HTML/WebSite mà không cần khởi chạy trình duyệt (cần một trình duyệt nội tuyến)?
- 10. Làm cách nào để ghi đè nội dung tệp bằng nội dung mới trong PHP?
- 11. Không thể lấy nội dung bên trong của '' vì nội dung không phải là chữ số
- 12. điều khiển người dùng không render nội dung của ascx
- 13. Làm thế nào tôi có thể tạo mọi kết hợp có thể cho nội dung của hai mảng?
- 14. thay thế cho nội dung của UIViewBài viết cho nội dung không dựa trên hình ảnh
- 15. Capybara: phải có nội dung html
- 16. nội dung webview android không thể chọn
- 17. HTML/CSS: Tại sao nội dung không kéo dài đến nội dung của nó?
- 18. Alfresco Cấm tất cả người dùng xóa nội dung
- 19. Làm cho nội dung lưới ExtJS 4 có thể chọn
- 20. Nội dung không được phép trong Prolog SAXParserException
- 21. Tạo biến trong jquery với nội dung html
- 22. Thay thế nội dung tệp bằng PHP
- 23. Gửi nội dung email trong HTML
- 24. Làm thế nào tôi có thể đọc nội dung của stdin (cho đến EOF) thành một chuỗi trong PHP?
- 25. Nội dung theo nghĩa đen không được phép trong UserControl
- 26. Cách tải Chrome để cho phép nội dung hỗn hợp?
- 27. jQuery Datatables hiển thị nội dung html
- 28. Không thể gửi nội dung có nội dung với loại động từ này
- 29. Android: tạo bitmap có nội dung SurfaceView
- 30. Nội dung SMS của Android (nội dung: // sms/đã gửi)
Bạn có đang sử dụng CMS không, nếu có. – toomanyairmiles