温馨提示×

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

小新
516
2021-01-16 13:07:55
栏目: 云计算
亿速云高防服务器,无视DDOS、CC攻击,国内BGP防御,日均不到10元!! 查看详情>>

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

sql注入漏洞防御措施有:

1.对输入进行严格的转义和过滤,例如:

//转义示例

function escape($link, $data){

if(is_ string($data)){

return mysqli_ real escape_ str ing($link , $data);

}

if(is_ array($data)){

foreach ($data as $key=>$val){

$data[$key ]=es C ape($link, $val);

}

}

return $data;

}

过滤举例:(黑名单)

str_replace("%","",$_ POST['username']),把post里面的数据里面含有%的替换成空

2.使用PDO的prepare进行预处理,例如:

$username=$_ GET['username

'];

$password=$_ GET['password'];

try{

    $pdo=new PDO('mysql:host=localhost;dbname='ant','

root','root');

    $sq1="select * from admin where username=? and passowrd=?";

    $stmt=$pdo->prepare($sq1);//先不传参数,先预处理

    

//

var_ dump($stmt);

    

$stmt->execute(array($username,$password));

    //这个时候在把参数传进去,以索引数组的方式传进去,而不是拼接,就成功防止了注入

}catch (PDOException $e){

    echo $e->getMessage();

}

 

?>

亿速云高防服务器,全球多节点部署分布式防御,单个点1000G 防御,总体防御超5000G DDOS,AI智能防御CC攻击。点击查看>>

推荐阅读:sql注入漏洞有哪些

0