This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
khosb/includes/kohana/modules/userguide/guide/zh-cn/security.xss.md

16 lines
1.3 KiB
Markdown
Raw Normal View History

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