1.3 KiB
1.3 KiB
跨站脚本(XSS)安全
首先大家先要了解什么是 XSS 之后才能更好的保护自己。XSS 只能在 HTML 代码中才能触发,可能通过表单的输入或者从数据库结果显示。任何全局变量包括客户信息都可能被感染。这包括 $_GET
,$_POST
和 $_COOKIE
中的数据。
预防措施
这里有一些简单的方法可以预防你的程序不受 XSS 的侵害。第一个方法是使用 [Security::xss] 方法处理所有全局变量的输入数据。如果你不想让变量里有 HTML 代码,你可以使用 strip_tags 从值中移除所有的 HTML 标签。
[!!] 如果用户提交 HTML 到你的程序之中,最好的推荐方法是使用类似 HTML Purifier 或 HTML Tidy 这样的 HTML 代码清理工具。
第二个方法是转义输入的 HTML 代码。[HTML] 类提供生成大多数的标签,其中包括脚本(script)和样式表(stylesheet)链接,超级链接,图片,邮箱(emailto)链接。任何不可信的内容都会使用 [HTML::chars] 去转义。