# SQL-injektion poistaminen...

<datetime class="hidden">2006-09-08T00:00</datetime>

<!-- category -- mostlylucidcouk, Imported -->
## 

SQL-injektion poistaminen...

Posted on Saturday, 10. July 2004 8:06 PM

Lue lisää [Stefan Demetzin blogi](http://dotnetjunkies.com/WebLog/stefandemetz/archive/2004/07/10/18763.aspx) noin [liike lähtee liikkeelle lobbaamaan Microsoftia](http://dotnetjunkies.com/WebLog/stefandemetz/archive/2004/07/10/18763.aspx) muuttaa, miten tekstilaatikot mahdollistavat tietojen välittämisen. [Katso tätä](http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=25d26b9a-11b4-49fe-be42-ca38ad0d1256) Olen pahoillani, mutta mielestäni tämä on selkeä kamala ajatus ja tuo mieleen kamalan [Pyynnön hylkääminen](http://www.asp.net/faq/RequestValidation.aspx).NET 1.1. -sivustossa julkaistua hölynpölyä kannatan yksinkertaista tapaa salata ja validoida QueryString-syötteitä, kuten [esitetty tässä](http://www.dotnetjunkies.com/HowTo/99201486-ACFD-4607-A0CC-99E75836DC72.dcik) 3DES on paljon hitaampi eikä yhtä turvallinen kuin AES. Joten mikä on ongelmani syöttöohjainten oletuskäyttäytymisen muuttamisessa? Yksinkertaista, kolme asiaa:

1. Jos se tapahtuu, se toteutetaan todennäköisesti siten, että se rikkoo exisitn-sovellukset (tämä tapahtui myös 1.1:n kohdalla, minkä seurauksena muutama sovellus on vielä käynnissä 1.0.).
2. Jos se tehdään, sen pitäisi olla täysin luodinkestävä, muuten jokainen sovellus turvautuisi yhteen ainoaan turvamekanismiin - mikä EI ole hyvä idea!
3. Jos kehittäjät luopuisivat vastuusta, se olisi otettava selkeästi käyttöön joko web-konfiguraatiossa tai sivutasolla, olisin paljon onnellisempi. Haluan vain, että kehittäjät tietävät, mitä heidän koodissaan tapahtuu, ja siksi he ovat todennäköisemmin tietoisia kaikista siihen liittyvistä ongelmista.

Ja Microsoft, jos teet tämän, älä tee sitä niin kuin Viewstate, jossa kovakoodaat 3DES-salauksen, jossa ei ole mitään tapaa korvata toteutustasi, tee siitä edes Toimittaja!