这是聪明还是没有?

Rog*_*ger 5 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']}')
Run Code Online (Sandbox Code Playgroud)

Ali*_*xel 9

没有为什么:

  1. 它不适用于多维数组.
  2. 您可能不会将每个$_POST值用作数据库参数,因此3).
  3. 它可能会不必要地慢.
  4. mysql_real_escape_string()可能需要这个$link_identifier论点.

点#1可以使用自定义递归函数计算,但代价是更慢.