sql-server - classic - server createobject adodb command asp
parametrización en VBScript/ASP Classic y ADO (2)
Creo que "seguro para secuencias de comandos" significa "seguro para ejecutar desde una página web que acabamos de recuperar de algún príncipe nigeriano". El objeto de comando debe ser seguro para ejecutarse en el servidor.
En el trabajo, en el pasado, mis colegas no confiaban en él, así que teníamos un marco interno que básicamente hacía lo mismo.
Estoy un poco confundido aquí. Microsoft, por lo que puedo decir, afirma que la parametrización es la mejor manera de proteger su base de datos de los ataques de inyección SQL. Pero encuentro dos fuentes de información conflictivas aquí:
Esta página dice que use el objeto de comando ADO. Pero esta página dice que el objeto de comando no es seguro para secuencias de comandos. Me parece recordar haber leído en alguna parte que el objeto de comando no debería usarse en VBScript o JScript debido a las vulnerabilidades de seguridad, pero parece que no puedo encontrar ese artículo.
¿Me estoy perdiendo algo aquí, o esos dos artículos parecen contradecirse?
Podría estar equivocado aquí, pero creo que esto solo significa que alguien podría usar el objeto Comando para hacer cosas malas. Es decir, no se puede confiar si alguien más lo está creando.
Ver seguro para secuencias de comandos en este artículo. Cada instancia que habla de esta frase en línea, la hace referencia como si estuviera marcando un control ActiveX diciendo "Este control no tiene E / S o solo responde al servidor del que proviene", pero el objeto Command no hace eso. Se puede usar para hacer muchas cosas que podrían ser inseguras.
La "seguridad" de la que están hablando y la "seguridad" para evitar la inyección SQL son dos cosas diferentes. El artículo sobre el uso del objeto Comando ADO para parametrizar sus datos es perfecto. Debes hacer eso.
Y, Microsoft confirma esto más aquí:
http://msdn.microsoft.com/en-us/library/ms676585(v=VS.85).aspx