2011-09-13 8 views

Respuesta

9

No, no necesita escanear datos para proteger contra la inyección de SQL cuando se vinculan parámetros.

Sin embargo, esto no le impide validar dichos datos.

Cuando se vinculan parámetros, no se realiza ningún escape (interno o de otro tipo). Una declaración de SQL se prepara con marcadores de posición de parámetros y los valores se pasan en el momento de la ejecución.

La base de datos sabe qué parámetros son y los trata en consecuencia en oposición a la interpolación de valores de SQL.

+0

Gracias, Phil. – Francisc

5

citar este

http://mysql.lamphost.net/tech-resources/articles/4.1/prepared-statements.html

"Normalmente, cuando se trata de una consulta ad hoc, hay que ser mucho cuidado al manejar los datos que ha recibido del usuario. Esto implica el uso de funciones que escapan a todos los caracteres de problema necesarios, como comillas simples, comillas dobles y barras diagonales caracteres rs. Esto es innecesario cuando se trata de declaraciones preparadas. La separación de los datos permite MySQL para tomar automáticamente en cuenta de estos personajes y que no necesitan ser escapado utilizando cualquier función especial."

Cuestiones relacionadas