Linux 拨号vps windows公众号手机端

sql注入漏洞防御措施有哪些

lewis 7年前 (2018-12-08) 阅读数 11 #VPS/云服务器

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();

}

?>


版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门