我正在构建一个应用程序来检索任何类型的用户输入,即使用户输入了 xss 注入代码。除此之外,我提供了一个管理视图来显示用户放置的全部内容,或者他们放置了 html 代码、bb 代码、xss、javascript 等(类似用于分析目的)。
我认为 htmlentities($data, ENT_QUOTES) 就足够了,但是在阅读https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet之后,它让我更加困惑。
我不想删除任何标签或脚本,我只想在带有转义的 html 中显示它。如果我把它放在 textarea 标签上会保存吗?我的意思是如果数据包含 xss 如果在文本中它不会执行?
<textarea name="comment" rows="30" cols="100"><?php echo htmlentities($data, ENT_QUOTES); ?></textarea>
或者有任何安全的方法可以在浏览器上显示 xss,但它自己没有执行 xss。
对不起,我的英语不好。
谢谢