这是聪明还是没有?

时间:2010-01-22 19:50:15

标签: php sql-injection

使用此代码修剪和转义寄存器功能中的所有帖子是否可以?或者更好的做法是修剪和逃避每一项输入

// 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']}')

2 个答案:

答案 0 :(得分:9)

不,因为:

  1. 它不适用于多维数组。
  2. 您可能不会将每个$_POST值用作数据库参数,因此3)。
  3. 可能会不必要地慢。
  4. mysql_real_escape_string()可能需要$link_identifier参数。
  5. 点#1可以使用自定义递归函数计算,但代价是更慢。

答案 1 :(得分:0)

没有

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