sql注入漏洞防御措施有哪些
sql注入漏洞防御措施有:
1.对输入进行严格的转义和过滤,例如:
//转义示例
functionescape($link,$data){
if(is_string($data)){
returnmysqli_realescape_string($link,$data);
}
if(is_array($data)){
foreach($dataas$key=>$val){
$data[$key]=esCape($link,$val);
}
}
return$data;
}
过滤举例:(黑名单)
str_replace("%","",$_ POST['username']),把post里面的数据里面含有%的替换成空
2.使用PDO的prepare进行预处理,例如:
$username=$_GET['username
'];
$password=$_GET['password'];
try{
$pdo=newPDO('mysql:host=localhost;dbname='ant','
root','root');
$sq1="select*fromadminwhereusername=?andpassowrd=?";
$stmt=$pdo->prepare($sq1);//先不传参数,先预处理
//
var_dump($stmt);
$stmt->execute(array($username,$password));
//这个时候在把参数传进去,以索引数组的方式传进去,而不是拼接,就成功防止了注入
}catch(PDOException$e){
echo$e->getMessage();
}
?>
上一篇:redis宕机如何保证业务正常
下一篇:jdbc如何避免sql注入漏洞
sql注入 sql注入漏洞
声卡驱动正常但是没有声音如何办?声卡驱动正常没声音的解决方法
英伟达显卡驱动如何退回到原来版本?英伟达显卡驱动退回到原来版
重装系统,电脑只有一个C盘如何创建分区
Defender提示错误应用程序MsMpEng.exe无法启动
电脑无法启动或仍在加载如何办?电脑无法启动或仍在加载的解决方
打印机驱动如何卸载删除?卸载打印机驱动干净的教程
电脑没网如何安装网卡驱动?教你没网如何安装网卡驱动的方法
系统32位和62位如何选择:详解它们之间的差异
电脑文件删不掉如何办?四种方法解决
任务管理器快捷键有哪些?任务管理器快捷键大全