En cuanto a execute($input_parameters)
siendo tan seguro como bindParam/bindValue/execute
pasos separados, la respuesta parece ser básicamente, sí.
Sin embargo, es posible que deba tomar otras medidas dependiendo de cómo haya construido la cadena de consulta que pasa a su llamada PDO::prepare
. No siempre es posible parametrizar todo en la cadena de consulta preparada. Por ejemplo, no puede usar un parámetro para una tabla o nombre de columna. Si permite datos de usuario o cualquier dato externo en esa cadena de consulta, debe desinfectar esos datos antes de pasar la cadena al prepare
. Consulte estas preguntas StackOverflow para más detalles:
En general, usted debe estar filtrando todos los datos de entrada de todos modos, así que si quieres estar seguro extra que podría desinfectar cualquier datos de entrada que están destinados para cosas de tipo SQL usando los filtros apropiados para sus necesidades, o incluso escribiendo una función personalizada de CAMBIO DE FILTRO si lo desea. En el caso de nombres de tabla o columna provenientes de datos proporcionados por el usuario, una técnica de validación común es verificar los valores frente a las matrices de nombres permitidos.
Espero que esto ayude. Buena suerte. ¡Mantenerse a salvo! ;)