这部分脚本是否可以安全地进行sql注入?因为我用过这个
foreach(array_keys($_POST) as $key)
{
$clean[$key] = mysql_real_escape_string(trim($_POST[$key]));
}
网络指南说它应该更有效,更快地工作。
<?
session_start();
include("db.php");
if(empty($_POST['token']) || $_POST['token'] !== $_SESSION['token']){
exit("Error!");
}
unset($_SESSION['token']);
foreach(array_keys($_POST) as $key)
{
$clean[$key] = mysql_real_escape_string(trim($_POST[$key]));
}
$name=$clean['name'];
$country=$clean['country'];
$ip=$clean['ip'];
$map=$clean['map'];
感谢您的帮助。
答案 0 :(得分:4)
是的,这是保存以防你把它放在引号中(在mysql查询中)..但是,我将foreach改为
foreach($_POST as $key => $value)
{
$clean[$key] = mysql_real_escape_string(trim($value));
}
答案 1 :(得分:2)
如果您想轻松防止SQL注入并养成良好习惯,您应该使用PDO或mysqli检查parameterized queries。