加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php防止xss攻击以及sql注入

发布时间:2020-05-25 02:45:37 所属栏目:PHP 来源:互联网
导读:本文章向大家介绍php防止xss攻击以及sql注入,主要包括php防止xss攻击以及sql注入使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

function SafeFilter (&$arr)

{

$ra=Array('/([x00-x08,x0b-x0c,x0e-x19])/','/select/','/from/','/update/','/delete/','/drop/','/alter/','/script/','/javascript/','/vbscript/','/expression/','/applet/'

,'/meta/','/xml/','/blink/','/link/','/style/','/embed/','/object/','/frame/','/layer/','/title/','/bgsound/'

,'/base/','/onload/','/onunload/','/onchange/','/onsubmit/','/onreset/','/onselect/','/onblur/','/onfocus/',

'/onabort/','/onkeydown/','/onkeypress/','/onkeyup/','/onclick/','/ondblclick/','/onmousedown/','/onmousemove/'

,'/onmouSEOut/','/onmouSEOver/','/onmouseup/','/onunload/');

if (is_array($arr))

{

foreach ($arr as $key => $value)

{

if (!is_array($value))

{

if (!get_magic_quotes_gpc()) //不对magic_quotes_gpc转义过的字符使用addslashes(),避免双重转义。

{

$value = addslashes($value); //给单引号(')、双引号(")、反斜线()与 NUL(NULL 字符)

}

$value = preg_replace($ra,'',$value); //删除非打印字符,粗暴式过滤xss可疑字符串

$arr[$key] = htmlentities(strip_tags($value)); //去除 HTML 和 PHP 标记并转换为 HTML 实体

}else{

SafeFilter($arr[$key]);

}

}

}else{

if(!get_magic_quotes_gpc()) //不对magic_quotes_gpc转义过的字符使用addslashes(),避免双重转义。

{

$arr = addslashes($arr); //给单引号(')、双引号(")、反斜线()与 NUL(NULL 字符)

//加上反斜线转义

}

$arr = preg_replace($ra,$arr); //删除非打印字符,粗暴式过滤xss可疑字符串

$arr = htmlentities(strip_tags($arr)); //去除 HTML 和 PHP 标记并转换为 HTML 实体

}

}

$post_info=array(

'aa'=>'121212

'bbb'=>''

);

SafeFilter($post_info);

print_r($post_info);

$str = 'www.90boke.com

SafeFilter ($str);

echo $str;

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读