【发布时间】:2014-11-22 21:52:14
【问题描述】:
有一个论坛,禁止发布 HTML。 但是,有些用户希望可以发布一些符号符号、十六进制 html 实体,例如:
💗
请参阅:http://graphemica.com/%F0%9F%92%97 了解更多信息。
我的问题是:
- 允许他们使用这些符号(XSS 等)是否安全?
- 允许使用的最佳功能是什么?实际上,符号 html 实体显示为纯文本。
- 我想禁止使用
&或»等的成员,所以只需 html-entities 以 开头,后跟一个数字加上最后的分号。
知道如何解决这个问题吗?
【问题讨论】:
-
发布 html 实体绝对不是问题。我只想写一个正则表达式来替换所有与
&#\d+;序列不匹配的序列中的&。 -
@bwoebi 您能否提供一个完整的示例作为答案?猜你说的是 preg_replace,对吧?
-
问题中的例子不是十六进制实体;此类实体具有字母
x(或X)。 -
关于问题1:“安全”在什么意义上?关于问题 2:“最佳”的标准是什么? 3不是问题。此外,该问题没有描述现在如何处理用户输入,因此我们无法知道添加的规则将如何拦截处理。如果您想让用户输入特殊字符,这似乎是这里的意图,请考虑为此添加一个小部件。
标签: php html html-entities hex