sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo evita SQLParameter la inyección de SQL?

Básicamente, cuando realiza un SQLCommand usando SQLParameters , los parámetros nunca se insertan directamente en la declaración. En su lugar, un procedimiento almacenado del sistema llamado sp_executesql se llama y se le da la cadena SQL y la matriz de parámetros.

Cuando se usan como tales, los parámetros se aíslan y se tratan como datos, en lugar de tener que analizarlos fuera de la declaración (y, por lo tanto, posiblemente cambiarla), por lo que lo que contienen los parámetros nunca se puede "ejecutar". Obtendrá un gran error que indica que el valor del parámetro no es válido de alguna manera.