¿Las consultas parametrizadas en PDO son necesarias para las variables de solicitud?

Entiendo que las consultas parametrizadas son esenciales cuando los datos enviados por el usuario se encuentran al acecho, sin embargo, mi pregunta es si esto se aplica a los datos TAMPERABLE del usuario.

Entonces, si tenemos una URL como “… /? Id = 1”, ¿sería necesario preparar alguna statement con $ id o la encoding de URL eliminaría la amenaza?

Joe

¿Por qué no utilizaría declaraciones preparadas / consultas patwigterizadas para todas las situaciones donde hay una entrada externa / variable?

Las únicas consultas en las que puede confiar son aquellas en las que cada elemento está codificado o derivado de elementos codificados dentro de su aplicación.

Ni siquiera confíe en los datos que ha extraído de su propia base de datos. Esto cuenta como datos externos / variables. Un ataque sofisticado puede usar más vectores que una simple “modificación de un parámetro de cadena de consulta”.

Creo que por la pequeña cantidad de sobrecarga de código adicional, vale la pena la tranquilidad que obtendrá al saber que sus consultas están protegidas.

La encoding url no eliminaría la amenaza.

Cualquier cosa que pueda ser tocada por el usuario debe ser tratada como insegura y como una amenaza potencial. La consulta por id como tal no la está validando y simplemente introduciéndola directamente en una consulta puede causar los mismos problemas de inyección que no usar la DOP.