如果变量包含文本而不是整数,如何停止SQL注入?

时间:2014-06-13 12:14:18

标签: php sql sql-injection

我使用这个php代码来检查我从URL获取的变量,以保护我的数据库不受URL注入:

if(isset($_REQUEST["u_i"]))
{//echo $_REQUEST["u_i"];exit;
if(!is_numeric($_REQUEST["u_i"]))
{
//echo $_REQUEST["u_i"];exit;
header('Location:index.php');
}
else 
{//echo $_REQUEST["u_i"];       
$id_raw = trim(htmlentities($_REQUEST["u_i"]));
$visitor_id = mysql_real_escape_string($id_raw);
}
}

我想知道我应该在这段代码中编辑什么才能在$_POST数组变量(用户输入文本而非数字)上使用它(如用户,文本块的注释),因为我使用此部分来引导用户索引url变量是否包含文本而不是数字:

if(!is_numeric($_REQUEST["u_i"]))
    {
    //echo $_REQUEST["u_i"];exit;
    header('Location:index.php');
    }

那么如何检查安全文本的变量?

0 个答案:

没有答案