Jon*_*Jon 7 html security validation bbcode
我在PHP中编写了一个注释解析函数.
由于BBCode不是真正的标记语言,我从不喜欢写作风格.
所以我让访问者能够在评论表单中使用基本的HTML代码.
在发布时,PHP将检查不允许的和无效的标签/属性,并替换或删除它们.
我相信它做的工作与BBCode完全相同.
如果这是真的,为什么有BBCode?BBcode比HTML更有优势吗?
单色回答
如果您确信HTML过滤器足够安全,那么您应该没问题
好吧,我不自信地编写过滤器,但是有一些顶级的过滤器,如PHP Simple HTML DOM Parser,HTML Purifier,htmLawed ......
BBCode由UBB开发并且仍在广泛使用,例如phpBB.
来自UBB/phpBB的开发人员对他们编写完美HTML过滤器的技巧没有信心吗?(我猜不会)
另外,就像StackOverflow使用的Markdown一样......如果HTML + Parser完成这项工作,为什么要发明另一种"语言"呢?(除了保存几位......)
它的主要优点是防止不需要的代码注入.这就是为什么我会使用像BBCode或Markdown这样的东西.
至少你应该使用允许的HTML标签的白名单而不是黑名单.
小智 2
BBCode 消除了 HTML 过滤器可能存在错误的问题,以便评论者可以评论他不应该评论的代码。如果您确信您的 HTML 过滤器足够安全,那么应该没问题。
另一个问题是 HTML 注释可能会破坏您的布局,例如,当评论者输入单个结束语</div>
或类似内容时。
归档时间: |
|
查看次数: |
2406 次 |
最近记录: |