跨站脚本攻击 (XSS)
当你允许用户输入的 HTML 和 javascript 在你自己的网站上直接显示的时候,就有可能遭受这种攻击。
如果服务器端对于用户的输入不做任何无害处理的话,这些内容就会注入到网页的内容中去,然后浏览器就会解释执行这些 HTML 和 javascript 代码。
跨站脚本攻击的解决方案
阻止此类攻击的一个办法就是总是对用户输入的内容做无害处理。消除有问题的输入,比如
<script>
标签,或者使用一个更安全的输入格式,比如
Markdown,这样就可以阻止 HTML 和 javascript 同时出现在用户的输入里。第二个办法就是在显示之前转义用户输入的所有数据.如果你需要用户能够输入 HTML 和 javascript
代码,那么当你显示这些输入内容的时候要确保它们被正确转义,这样浏览器就不会把它们当做代码给执行了。
在PHP中,使用htmlspecialchars()函数对提交的内容进行过滤,使字符串里面的特殊符号实体化。