Az ASP.NET szabványosítással kapcsolatos problémáinak ellenőrzése programból

A cikk fordítása A cikk fordítása
Cikk azonosítója: 887459 - A cikkben érintett termékek listájának megtekintése.

Felelősséget kizáró nyilatkozat

A Microsoft Tudásbázisban rendelkezésre bocsátott információk helyességére semmilyen garancia nem vonatkozik. A Microsoft elhárít mindennemű kifejezett vagy vélelmezett felelősséget, ideértve a forgalmazhatóságot és adott célra való alkalmasságot szavatoló garanciákat is. A Microsoft Corporation és szállítói semmilyen esetben sem vállalnak felelősséget az esetleges károkért – ideértve a közvetlen, közvetett, véletlen vagy járulékos károkat, valamint az üzleti haszon elmaradásából származó és a különleges károkat –, akkor sem, ha a Microsoft Corporationt vagy szállítóit tájékoztatták az ilyen károk bekövetkeztének a lehetőségéről. Egyes országokban nem engedélyezett a járulékos vagy véletlen károkért való felelősség kizárása vagy korlátozása, így ilyen esetben a fent leírt korlátozás nem érvényes.
Az összes kibontása | Az összes összecsukása

A lap tartalma

Bevezető

Ez a cikk azt ismerteti, hogy miként adhat további védelmet az ASP.NET alkalmazásokhoz a gyakori szabványosítási problémákkal szembeni biztonság fokozása érdekében.

További információ

Mi a szabványosítás?

A szabványosítás az a folyamat, amely segítségével egy adott név különböző egyenértékű formái egyetlen szabványos névvé oldhatók fel. Az egységes szabványos név kanonikus névként is ismert. Így például egy adott számítógépen a c:\könyvtár\teszt.dat, a teszt.dat és a ..\..\teszt.dat név ugyanarra a fájlra hivatkozhat. A szabványosítás az a folyamat, amelynek során az ehhez hasonló nevek a c:\könyvtár\teszt.dat névhez hasonló névre képeződnek le.

Az URL-címek webkiszolgálónak való átadásakor a kiszolgáló a kérelmet a fájlrendszer egy elérési útjára képezi le, ami meghatározza a választ. A kérelem leképezésére használatos szabványosítási rutinnak megfelelően kell elemeznie az URL-címet annak elkerülése érdekében, hogy nem várt tartalmat szolgáltasson vagy dolgozzon fel. A szabványosításról a Microsoft következő webhelyén talál további információt:
http://msdn2.microsoft.com/en-us/library/aa302420.aspx
Az alkalmazások védelmének biztosítása érdekében ajánlott követni a gyakorlati tanácsokat. A következő rész bővebb információval szolgál ezzel kapcsolatban.

A webalkalmazások bővítése további szabványosítási óvintézkedésekkel

A Microsoft ASP.NET-fejlesztők a webalkalmazás gyökérkönyvtárában tárolt Global.asax fájlba egy Application_BeginRequest eseménykezelőt felvéve további ellenőrzéseket adhatnak hozzá webalkalmazásaikhoz a szabványosítási problémák elkerülése érdekében. Ez az eseménykezelő minden webkérelem esetén lefut. Az eseménykezelőhöz kódot hozzáadva növelheti a számítógépek szabványosítási problémákkal szembeni védettségét.

Példakód

A következő példakódok az Application_BeginRequest eseménykezelő Global.asax fájlba való felvételének módját szemléltetik. Ez az eseménykezelő az érvénytelen karakterek és hibás formátumú URL-címek kiküszöbölését segíti elő az útvonalak ellenőrzésével. Ily módon elkerülhetők a leggyakoribb szabványosítási problémák.

Global.asax mintakód (Visual Basic .NET)

<script language="vb" runat="server"> 
Sub Application_BeginRequest(Sender as Object, E as EventArgs) 
    If (Request.Path.IndexOf(chr(92)) >= 0 OR _ 
       System.IO.Path.GetFullPath(Request.PhysicalPath) <> Request.PhysicalPath) then 
       Throw New HttpException(404, "Nem található") 
    End If 
End Sub 
</script>

Global.asax mintakód ( C#)

<script language="C#" runat="server"> 
void Application_BeginRequest(object source, EventArgs e) { 
    if (Request.Path.IndexOf('\\') >= 0 || 
        System.IO.Path.GetFullPath(Request.PhysicalPath) != Request.PhysicalPath) { 
        throw new HttpException(404, "nem található");
    } 
} 
</script>

Tulajdonságok

Cikk azonosítója: 887459 - Utolsó ellenőrzés: 2007. december 3. - Verziószám: 2.5
A cikkben található információ a következő(k)re vonatkozik:
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.0 Service Pack 1
  • Microsoft .NET Framework 1.0 Service Pack 2
  • Microsoft .NET Framework 1.0 Service Pack 3
  • Microsoft .NET-keretrendszer 1.1
  • Microsoft .NET Framework 1.1 Service Pack 1
Kulcsszavak: 
kbtshoot kbsecurity KB887459
A Microsoft tudásbázisban szolgáltatott információkat "az adott állapotban", bárminemű szavatosság vagy garancia nélkül biztosítjuk. A Microsoft kizár mindennemű, akár kifejezett, akár vélelmezett szavatosságot vagy garanciát, ideértve a forgalomképességre és az adott célra való alkalmasságra vonatkozó szavatosságot is. A Microsoft Corporation és annak beszállítói semmilyen körülmények között nem felelősek semminemű kárért, így a közvetlen, a közvetett, az üzleti haszon elmaradásából származó vagy speciális károkért, illetve a kár következményeként felmerülő költségek megtérítéséért, még abban az esetben sem, ha a Microsoft Corporationt vagy beszállítóit az ilyen károk bekövetkeztének lehetőségére figyelmeztették. Egyes államok joga nem teszi lehetővé bizonyos károkért a felelősség kizárását vagy korlátozását, ezért a fenti korlátozások az ön esetében esetleg nem alkalmazhatók.

Visszajelzés küldése

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com