我将html存储在数据库中,并且需要将其输出到页面。在转义为XSS后未翻转某些HTML标记
- 如果我不逃(),然后我得到大胆格式我想,但我跑得从转义的HTML源代码得到一个XSS的风险。
- 如果我转义()它,那么它显示原始html代码
<b>bold text</b>
而不是加粗文本。
我怎样才能逃脱一切,除了一些标签?我正在考虑应用escape(),然后搜索<b>
和</b>
并使其无法正常使用。这会起作用吗?你看到的任何安全问题?我也不确定我将如何搜索<b></b>
标签。正则表达式可能或什么?
P.S. escape()我的意思是Zend中的一个函数。我相信这相当于htmlspecialchars()
。
这就是为什么我想不使用的'用htmlspecialchars完全相反()'和使用一个自定义函数,它只会隐藏我想要的标记。 – sameold 2011-06-01 00:27:12