1. 云栖社区>
  2. PHP教程>
  3. 正文

什么XSS攻击?PHP防止XSS攻击函数

作者:用户 来源:互联网 时间:2017-12-01 15:22:26

函数攻击

什么XSS攻击?PHP防止XSS攻击函数 - 摘要: 本文讲的是什么XSS攻击?PHP防止XSS攻击函数,XSS 全称为 Cross Site Scripting,用户在表单中有意或无意输入一些恶意字符,从而破坏页面的表现。看看常见的恶意字符XSS 输入:1.XSS 输入通常包含 JavaScript 脚本,如弹出恶意警告框:<scrip

XSS 全称为 Cross Site Scripting,用户在表单中有意或无意输入一些恶意字符,从而破坏页面的表现。
看看常见的恶意字符XSS 输入:
1.XSS 输入通常包含 JavaScript 脚本,如弹出恶意警告框:<script>alert("XSS");</script>
2.XSS 输入也可能是 HTML 代码段,譬如:
(1).网页不停地刷新 <meta http-equiv="refresh" content="0;">
(2).嵌入其它网站的链接 <iframe src=http://xxxx width=250 height=250></iframe>

防止XSS攻击测试路径:

什么XSS攻击。<a href=PHP防止XSS攻击函数">

其实有很多测试XSS攻击的工具:

Paros proxy (http://www.parosproxy.org)
Fiddler (http://www.fiddlertool.com/fiddler)
Burp proxy (http://www.portswigger.net/proxy/)
TamperIE (http://www.bayden.com/dl/TamperIESetup.exe)

对于PHP开发者来说,如何去防范XSS攻击呢。(php防止xss攻击的函数)
可以用如下函数:
<?PHP/** * @blog http://www.phpddt.com  * @param $string * @param $low 安全别级低 */function clean_xss(&$string, $low = False){if (! is_array ( $string )){$string = trim ( $string );$string = strip_tags ( $string );$string = htmlspecialchars ( $string );if ($low){return True;}$string = str_replace ( array ('"', "//", "'", "/", "..", "../", "./", "//" ), '', $string );$no = '/%0[0-8bcef]/';$string = preg_replace ( $no, '', $string );$no = '/%1[0-9a-f]/';$string = preg_replace ( $no, '', $string );$no = '/[/x00-/x08/x0B/x0C/x0E-/x1F/x7F]+/S';$string = preg_replace ( $no, '', $string );return True;}$keys = array_keys ( $string );foreach ( $keys as $key ){clean_xss ( $string [$key] );}}//just a test$str = 'phpddt.com<meta http-equiv="refresh" content="0;">';clean_xss($str); //如果你把这个注释掉,你就知道xss攻击的厉害了echo $str;?>

通过clean_xss()就过滤了恶意内容。
另外本文借鉴了IBM官网的这篇文章:https://www.ibm.com/developerworks/cn/opensource/os-cn-php-xss/

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索函数 攻击 ,以便于您获取更多的相关知识。