Domanda

Io sono un po ' confuso qui.Microsoft, per quanto posso dire, sostiene che parametrizzazione è il modo migliore per proteggere il database di SQL injection.Ma trovo due contrastanti informazioni qui di seguito:

Questa pagina dice di usare il comando ADO oggetto.Ma questa pagina dice che il comando oggetto non è sicuro per la creazione di script.Mi sembra di ricordare di aver letto da qualche parte che il comando oggetto non deve essere utilizzato in VBScript o JScript a causa di vulnerabilità di sicurezza, ma non riesco a trovare l'articolo.

Mi manca qualcosa qui, o fare quelle due articoli sembrano contraddirsi?

È stato utile?

Soluzione

Potrei sbagliarmi, ma io credo che questo significa solo che qualcuno potrebbe usare il Comando oggetto per fare del male.I. e.non è per essere attendibile, se qualcun altro è lo script di esso.

Vedere sicuri per lo scripting in questo articolo.Ogni istanza che parla di questa frase online, riferimenti come se la marcatura di un controllo ActiveX dicendo "Questo controllo non di I/O o parla al server che è venuto da" ma il Comando oggetto non farlo.Può essere usato per fare un sacco di cose che potrebbero essere pericolose.

La "sicurezza" di cui stanno parlando e la "cassaforte" per evitare SQL injection sono due cose diverse.L'articolo sull'utilizzo di ADO oggetto per parametrizzare i tuoi dati è a posto.Si dovrebbe fare.

E, Microsoft conferma ulteriormente questo qui:

http://msdn.microsoft.com/en-us/library/ms676585(v=VS.85).aspx

Altri suggerimenti

Penso che "sicuro" significa "sicuro di essere eseguito da una pagina web che abbiamo appena recuperato da alcuni principe Nigeriano".L'oggetto di comando devono essere sicuri per l'esecuzione sul server.

Al lavoro anche se, back in the day i miei colleghi non hanno fiducia in modo che abbiamo avuto un in-house quadro che sostanzialmente ha fatto la stessa cosa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top