2010-01-22 34 views
5

在我的注册功能中使用此代码修剪和转义所有帖子可以吗?或者是更好的做法,修剪和逃避每个输入这很聪明还是不行?

// Trim and sanitize our input 
$_POST = array_map('trim', $_POST); 
$_POST = array_map('mysql_real_escape_string', $_POST); 

if (invalidinput) dostuff 
else insert into user (username,passwd) values ('{$_POST['username']}','{$_POST['passwd']}') 

回答

9

没有,因为:

  1. 它不会对多维数组。
  2. 您可能不会使用每个$_POST值作为数据库参数,因此3)。
  3. 它可能会不必要的缓慢。
  4. mysql_real_escape_string()可能需要$link_identifier参数。

点#1可以用自定义递归函数来计算,代价是速度更慢。

0

编号

您不应该首先逃避。你应该使用绑定参数。

+1

我当然更喜欢绑定参数,但只要你正在做一些事情来正确地逃避你的SQL输入,没有不使用它们的危害。 – 2010-01-22 21:36:02