㈠ 谁能给我这一个php防sql注入的函数啊,功能越强大越好
functioninject_check($Sql_Str){//自动过滤Sql的注入语句。
$check=preg_match('/select|insert|update|delete|'|\*|*|../|./|union|into|load_file|outfile/i',$Sql_Str);
if($check){
echo'<scriptlanguage="JavaScript">alert("系统警告: 请不要尝试在参数中包含非法字符尝试注入!");</script>';
exit();
}else{
return$Sql_Str;
}
}
我这个是自己写的,通过正则判断是否含有危险关键字,希望采纳。
㈡ php如何防止sql注入
PHP防止sql注入是一个比较低级的问题了,这个问题其实在我大一上学期做第一个个人博客的时候就已经关注过了,不过简单的说一下关于PHP防注入的方式吧。
对于现在的防注入技术其实已经成熟了,对于一个站点该关心的不是防注入了,而是大规模高并发如何处理的问题,或者关于各种其他漏洞,比如现在世界上仍然有百分之80使用redis的站点存在redis漏洞,通过redis漏洞可以直接拿到机器的访问权限,一般来说都是直接给你种一个挖矿机器人来。
㈢ php批量执行sql语句怎么写
php中利用数组用Mysql_query批量执行SQL语句。
参考示例如下:
思路:这里采用一个数组.用explode 函数,将$query语句按照”;”炸开,然后循环执行即可:
$query = 'delete from ecs_goods_attr where attr_id=11 and goods_id=22;
Insert into ecs_goods_attr (goods_attr_id,goods_id,attr_id,attr_value,attr_price)values(Null,33,138,"胆略",0);
update ecs_goods set goods_number=10,shop_price=55 where goods_id=33;'
$query_e = explode(';','$query');
foreach ($query_e as $k =>$v)
{
mysql_query($query_e[$k]);
}
这样 $query语句就被批量的执行了。