这部分脚本是否可以安全地从sql注入?

时间:2011-09-22 12:37:36

标签: php mysql sql

这部分脚本是否可以安全地进行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'];

感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

是的,这是保存以防你把它放在引号中(在mysql查询中)..但是,我将foreach改为

foreach($_POST as $key => $value)
{
  $clean[$key] = mysql_real_escape_string(trim($value));
}

答案 1 :(得分:2)

如果您想轻松防止SQL注入并养成良好习惯,您应该使用PDO或mysqli检查parameterized queries