2009-07-27 37 views
5

Cada muestra que he visto usa procedimientos almacenados. Adopté una aplicación antigua escrita en ASP clásico que usa SQL en línea. Este es un problema obvio, así que necesito convertirlo a un código más seguro. El cliente no desea que use procedimientos almacenados en esta aplicación, entonces ¿hay alguna manera de ejecutar consultas parametrizadas sin procedimientos almacenados?consultas parametrizadas SIN procedimientos almacenados?

Gracias

Respuesta

-1

¿Hay alguna razón por la cual el cliente no desea utilizar procedimientos almacenados? Es mucho más fácil utilizar procedimientos almacenados tanto en el nivel de la base de datos como en el código fuente. Debería obtener el caché del plan de consulta en su consulta en línea si usa el segundo método desde arriba, pero dependiendo de lo que esté haciendo, podría estar mejor con sprocs simples si puede convencer a su cliente de que está bien usarlos. Si todo lo demás falla, los enlaces anteriores son bastante sólidos, especialmente el segundo.

+0

- 1: "más fácil" es subjetivo, y el uso de procedimientos almacenados no es una garantía contra la inyección de SQL. – RedFilter

+0

No creo ni por un minuto que esto sea algo subjetivo. Este es un concepto estándar de desarrollo de varios niveles, que separa su lógica y niveles de datos. Tampoco dije nunca que los procedimientos almacenados garantizan la protección contra la inyección de SQL. Las consultas parametrizadas y los procedimientos almacenados evitarán muchas situaciones que ocurren a partir de la codificación diferida que permite la inyección de SQL, pero no previenen que las consultas dinámicas en los sprocs sean vulnerables, entre otras cosas. Un voto a la baja parece bastante inapropiado teniendo en cuenta que esta fue una respuesta válida y perspicaz. – tcnolan

Cuestiones relacionadas