PHP sql注入漏洞修复(数字型)

昨天写了个小程序,发现了个注入的问题,今天翻了下Php手册,找到个函数解决该问题。

把过程写出来,方便自己记忆吧。仅贴出部分代码。。。

<?php

$user_id=$_GET['id'];
//echo $user_id;

if(isset($user_id)){
   $result=mysql_query("select * from web_sec where user_id=$user_id");
   while($row=mysql_fetch_object($result)){
       echo $row->['username'];
       echo $row->['target_name'];
       echo $row->['domain'];
       echo $row->['bug_number'];
   }   
}

?>

由于没有对输入进行过滤,导致SQL注入的产生。给它加了个函数,就好了。

<?php

$user_id=intval($_GET['id']);
//echo $user_id;

if(isset($user_id)){
   $result=mysql_query("select * from web_sec where user_id=$user_id");
   while($row=mysql_fetch_object($result)){
       echo $row->['username'];
       echo $row->['target_name'];
       echo $row->['domain'];
       echo $row->['bug_number'];
   }   
}

?>
原文地址:https://www.cnblogs.com/xiaoCon/p/3155448.html