我想在用户的textarea上使用htmlspecialchars,但我希望他允许使用粗体和斜体.我怎么能不在这些标签上使用htmlspecialchars?
使用比抱歉更安全的方法.那是你首先应用htmlspecialchars,然后非常有选择地撤消它/白名单你的两个标签:
$html = htmlspecialchars($html);
$html = preg_replace('#<(/?[bi])>#', '<$1>', $html);
Run Code Online (Sandbox Code Playgroud)
仅当那些标签仅包含那些确切的两个字符串,没有额外的属性时才有效.然而,没有任何安全性或一致性问题(除了这个简短版本没有声明平衡标签,ooops).
如果您需要更复杂的规则,那么HTMLPurifier就是您应该注意的.
| 归档时间: |
|
| 查看次数: |
1449 次 |
| 最近记录: |