sql >> Base de Datos >  >> RDS >> Mysql

MySQL PHP PDO declaraciones preparadas:problemas de rendimiento frente a seguridad

Creo que esto cae en la categoría de "optimización prematura".

¿Qué tan importante es la sobrecarga? ¿Lo has medido? ¿Afecta el rendimiento de su servidor en absoluto?

Lo más probable es que no.

En el lado positivo, tiene una ganancia innegable en términos de seguridad (que debería ser una preocupación importante para cualquier tienda basada en Internet).

En el lado negativo, corre el riesgo de que pueda afectar el rendimiento. En el enlace que proporcionó, muestra que la preparación de PDO mal implementada da como resultado un rendimiento ligeramente más bajo que la declaración no preparada en algunas circunstancias. La diferencia de rendimiento en 5000 ejecuciones es de 0,298 segundos.

Insignificante. Más aún cuando te das cuenta de que las consultas "no preparadas" se ejecutan sin las rutinas de desinfección de entrada que serían necesarias para hacerlos seguros en un entorno vivo. Si no usa las consultas preparadas, necesita algún tipo de desinfección de entrada para evitar ataques de SQL y, dependiendo de cómo se haga, es posible que deba volver a aplicar los conjuntos de resultados.

En pocas palabras, no hay un problema de rendimiento significativo, pero hay un beneficio de seguridad significativo. De ahí la recomendación oficial de usar declaraciones preparadas.

En su pregunta, habla de "la eshop común". La "eshop común" nunca tendrá suficiente tráfico para preocuparse por el problema de rendimiento, si lo hay. El problema de seguridad en el otro extremo...