2010-01-22 10 views
5

¿Está bien usar este código para recortar y escapar de todas las publicaciones en mi función de registro? o es mejor la práctica de ajustar y de escapar de todos y cada uno entradas¿Es esto inteligente o no?

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

Respuesta

9

No, porque:

  1. No funciona para matrices multidimensionales.
  2. Es posible que no use todos los valores de $_POST como un parámetro DB y por lo tanto 3).
  3. Puede ser innecesariamente lento.
  4. mysql_real_escape_string() puede necesitar el argumento $link_identifier.

El punto # 1 se puede diseñar con una función recursiva personalizada, a expensas de ser aún más lento.

0

No debería escapar en primer lugar. Debería usar parámetros vinculados.

+1

Definitivamente también prefiero los parámetros vinculados, pero mientras esté haciendo algo para escapar correctamente de su entrada de SQL, no hay daño en no usarlos. –

Cuestiones relacionadas