# Turvallisuus monimuotoisuuden välityksellä - miksi en pidä'validateRequest-pyyntöä

<datetime class="hidden">2004-07-04T00:00</datetime>

<!-- category -- mostlylucidcouk, Imported -->
I'on tietoinen, että tämä on [melko kiistanalainen näkemys](http://weblogs.asp.net/ShankuN/archive/2004/03/02/82534.aspx), Minun pitäisi selittää joitakin omaa taustaani, joka on ennakkotapauksena sille, että en pidä tästä.M SK1 Köyhissä vanhoissa aikoinani, , olin penetraatiotestaattori. ; Johsin omaa pientä yritystäni, joka tarjosi tätä palvelua monille asiakkaille. Olen aina ollut tietoinen siitä, että sovellusten turvallisuusjärjestelmiä ei pidä luopua luontaisesti., on kuitenkin vähemmän todennäköistä, että ne ovat virheellisiä kuin joitakin ad-ohjelmia, - on itsenäinen täytäntöönpano ja , voi olla mahdollisesti vakavampi, sillä on lähes varmaa, että niistä tulee laajalti tunnettuja ja hyödynnettäviä hyvin lyhyessä ajassa.
Se' on osa ongelmaa, joka minulla on ValidateRequestin kanssa, se tarjoaa kädenvääntöä , lyhyellä kädellä laimealle kehittäjälleM SK3 OKMST4 se on hyödyllinenMSC5 se estää kaiken tulevan MSSK6htmlMS' kuten pyynnön tiedot \- ja siten estää monet XSS-osoitteita \Cross Site Scripting \ ) hyökkäykset, jotka voivat olla melko vakavia\ MST11 Ongelma on \, [puutteita on jo löydetty tässä](http://weblogs.asp.net/gad/archive/2003/11/12/37219.aspx) ja korjaus ei ole selvä / helppo löytää ( oletteko kuulleet siitä ennenM SK2 - joten ei ole olemassa' ongelma, joka vaikuttaa kaikkiin ASP-osoitteisiinMSC5NET-osoitukseen |1.1 sivustoihin, jotka turvautuvat tähän ominaisuuksiin suojellakseen niitä XSS:n hyökkäyksiltä \. vielä pahempaa | , mitkä sivustot uskotte toteuttavan lisävarotoimenpiteitä sen lisäksi, että suojaisivat heidän tulojaan [SQL Injection-hyökkäykset](http://www.developer.com/db/article.php/2243461), [Puffer Overflow -hyökkäykset](http://nts.jhu.edu/alerts/alert.detail.cfm?aid=218) ja monet muut (kuten yksinkertaiset takaoven kaltaiset perinnötM SK1 [Cookie-hyökkäys](http://www.experts-exchange.com/Security/Q_20851738.html) ja vastaavat).

Tarkoitukseni on, että ohjelmien turvallisuudesta olisi mielestäni vastuussa kehittäjä. Heidän pitäisi ymmärtää ja suunnitella sovellusten suunnitteluun tehtävien valintojen seurauksia. [Michael Howard ':n kirjoittama turvallinen koodi](http://www.amazon.co.uk/exec/obidos/ASIN/0735617228/mostlylucid-21) [[Yhdysvallat](http://www.amazon.com/exec/obidos/ASIN/0735617228/mostlylucid-21)] - tiedostaa, missä sovelluksenne haavoittuvuuksia voi olla ja korvata ne
Lyhyesti sanottuna: ValidateRequest ei ole ainoa puolustuslinja, jota tarvitsette. Käyttäkää sitä kaikin keinoin. [mitä se itse asiassa tekee](http://weblogs.asp.net/vga/archive/2003/05/02/6329.aspx) ja mitä se ei tee

Esimerkiksi, mitä teette, kun haluatte, että vain tietyt merkinnät pääsevät läpi eivätkä muut? [something like this](/uploads/HtmlTagRemover.zip)( kirjoitin tämän jokin aika sitten. - en ole väittänyt sitä, että se olisi täysin tai jopa osittain typerä.

Joka tapauksessa, näkemykset ovat aina tervetulleita - kuinka paljon sovellusten turvallisuutta pitäisi siirtää kehykseen - joku muu on keksinyt omat pienet ‐'turvallisuutensa |' lelut, joita he käyttävät käyttäjiä koskevien tietojen validointiin

UPDATE: unohdettiin mainitaM SK1 jos olette edelleen IIS-järjestelmässä, tarkistakaa tarkasti [IISLockdown -järjestelmä](http://www.microsoft.com/windows2000/downloads/recommended/iislockdown/default.asp) - teidän on saatava tämä otettu käyttöönM SK1 se auttaa välttämään valtavan määrän turvaaukkoja, tunnettu / tulevaisuudestaMSC4 jos teillä on IIS-järjestelmä, mutta varmistakaa [tarkastelkaa tätä](http://weblogs.asp.net/lbarbieri/archive/2003/10/06/30678.aspx) kehitysongelmien välttämiseksi...