Tôi đang viết một chức năng phân tích nhận xét trong PHP.Tại sao tôi nên sử dụng BBCode nhưng không sử dụng HTML ở dạng bình luận?
Vì BBCode không phải là ngôn ngữ đánh dấu thực, tôi chưa bao giờ thích phong cách viết.
Vì vậy, tôi cung cấp cho khách truy cập khả năng sử dụng mã HTML cơ bản trong các biểu mẫu nhận xét.
Và khi đăng, PHP sẽ kiểm tra các thẻ/thuộc tính không được phép và không hợp lệ và thay thế hoặc xóa chúng.
Tôi tin rằng nó thực hiện công việc và đầu ra giống hệt như với BBCode.
Nếu điều này đúng, tại sao có BBCode? BBcode có bất kỳ lợi thế nào so với HTML không?
cập nhật
như đơn sắc trả lời
Nếu bạn tự tin rằng bộ lọc HTML của bạn là đủ an toàn, bạn nên sử dụng tốt mặc dù
tốt, tôi không phải là văn bản tự tin bản thân bộ lọc, nhưng có một số bộ lọc được đánh giá hàng đầu như PHP PHP Parser HTML đơn giản, Trình lọc HTML, htmLawed ...
BBCode được phát triển bởi UBB và vẫn đang được sử dụng rộng rãi, chẳng hạn như phpBB.
Các nhà phát triển từ UBB/phpBB có tự tin về kỹ năng của họ để viết một bộ lọc HTML hoàn hảo không? (Tôi đoán là không)
Ngoài ra, giống như Markdown mà StackOverflow đang sử dụng ... nếu HTML + Parser thực hiện công việc, tại sao lại tạo ra một "ngôn ngữ" khác? (ngoại trừ việc tiết kiệm một vài bit ...)
Đánh dấu là đánh dấu mới. – BoltClock
Tôi nghĩ rằng đánh dấu HTML khá dễ khai thác và kiểm tra của bạn là giải pháp thay thế. Tin tặc có thể khá khéo léo khi tìm kiếm lỗ hổng bảo mật;) – knittl
@knittl Vì vậy, đây là về tôi/tin tặc PHP vs. tốt, có lẽ tôi không nên thêm "NẾU ... hệ thống phân tích cú pháp của tôi là WELL/STRICTLY được viết." Tôi thực sự muốn nhìn thấy một ví dụ hacking chống lại một html-cho phép-bình luận-hình thức. – Jon