¿Si hay una manera de evitar las funciones integradas de PHP para protegerse contra la inyección de SQL o debo confiar en algunos otros filtros en lugar de depender de las funciones integradas?
¿Si hay una manera de evitar las funciones integradas de PHP para protegerse contra la inyección de SQL o debo confiar en algunos otros filtros en lugar de depender de las funciones integradas?
¿Debo confiar en algunos otros filtros para protegerme contra la inyección de SQL
No. Cualquier otro filtro que pueda escribir no será tan bueno como la protección incorporada (declaraciones preparadas, ya sea con mysqli
o PDO
), por lo que no debe confiar en ello en absoluto.
Si desea una capa adicional de seguridad por si acaso (no es una mala idea, nunca puede ahorrar demasiado), usaría un sistema de detección de intrusos (como mod_security
para Apache) en lugar de escribir funciones de filtro adicionales en Código PHP yo mismo.
¿Hay alguna manera de evitar las funciones incorporadas de php para sqlinjection
Si se usa correctamente, las declaraciones preparadas o mysqli_real_escape_string
actualmente no tienen vulnerabilidades conocidas.
Sin embargo, se conocen problemas con ciertos conjuntos de caracteres de múltiples bytes (esto también podría ser un problema en PDO, vea here ), y por supuesto olvidado solo citas: en las consultas complejas, son fáciles de pasar por alto, lo cual es una de las razones por las que se recomiendan las declaraciones preparadas en vez de escapar.
Lea otras preguntas en las etiquetas sql-injection php