Programmatisch controleren op standaardisatieproblemen met ASP.NET

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 887459 - Bekijk de producten waarop dit artikel van toepassing is.

Vrijwaring

De informatie die wordt geboden in de Microsoft Knowledge Base, wordt geleverd 'in de huidige staat' zonder enige garantie. Wij wijzen hierbij alle expliciete of impliciete garanties van de hand, met inbegrip van alle garanties betreffende de verhandelbaarheid en geschiktheid voor een bepaald doel. Voorzover maximaal is toegestaan op grond van toepasselijk recht zijn Microsoft Corporation en/of haar leveranciers in geen geval aansprakelijk voor enige directe, indirecte of incidentele schade, bijzondere schade, gevolgschade of schade ten gevolge van het verlies van winsten, zelfs als Microsoft Corporation of haar leveranciers van de mogelijkheid van dergelijke schade op de hoogte is gesteld. In sommige staten/rechtssystemen is uitsluiting of beperking van aansprakelijkheid voor gevolgschade of incidentele schade niet toegestaan. De voorgaande beperking is daarom wellicht niet op u van toepassing.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Inleiding

In dit artikel wordt beschreven hoe er beveiligingen kunnen worden toegevoegd aan een ASP.NET-toepassing als bescherming tegen veelvoorkomende standaardisatieproblemen.

Meer informatie

Wat is standaardisatie ('canonicalization')?

Standaardisatie is het proces waarbij verschillende gelijkwaardige vormen van een naam kunnen worden omgezet naar een enkele standaardnaam. De enkele standaardnaam wordt ook wel de 'canonical name' of alias genoemd. Zo kunnen op een bepaalde computer de namen c:\dir\test.dat, test.dat en ..\..\test.dat allemaal verwijzen naar hetzelfde bestand. Bij standaardisatie worden dergelijke namen toegewezen aan een naam die vergelijkbaar is met c:\dir\test.dat.

Wanneer een webserver een URL ontvangt, kent de server het verzoek toe aan een bestandssysteempad dat de reactie bepaalt. De standaardisatieroutine die wordt gebruikt om het verzoek toe te wijzen, moet de URL correct parseren om te voorkomen dat onverwachte inhoud wordt aangeboden of verwerkt. Ga naar de volgende Microsoft-website voor meer informatie over standaardisatie:
http://msdn2.microsoft.com/en-us/library/aa302420.aspx
U wordt aangeraden de aanbevolen procedures te hanteren ter bescherming van uw toepassingen. Bekijk de volgende sectie voor aanvullende informatie.

Uw webtoepassing voorzien van aanvullende standaardisatiebeveiligingen

Ontwikkelaars van Microsoft ASP.NET kunnen meer controles voor de vermindering van standaardisatieproblemen voor een webtoepassing inbouwen door een Application_BeginRequest-gebeurtenishandler toe te voegen aan het Global.asax-bestand dat is opgeslagen in de hoofdmap van de webtoepassing. Deze gebeurtenishandler wordt voor elk webverzoek uitgevoerd. U kunt in deze gebeurtenishandler code toevoegen als bescherming tegen standaardisatieproblemen.

Voorbeeld van code

De volgende voorbeelden van code laten zien hoe een Application_BeginRequest-gebeurtenishandler kan worden toegevoegd aan een Global.asax-bestand. De gebeurtenishandler helpt bij de bescherming tegen ongeldige tekens en misvormde URL's door padcontroles uit te voeren. Op deze manier kunt u veelvoorkomende standaardisatieproblemen voorkomen.

Voorbeeld van Global.asax-code (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, "niet gevonden")
    End If
End Sub
</script>

Voorbeeld van Global.asax-code ( 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, "niet gevonden");
    }
}
</script>

Eigenschappen

Artikel ID: 887459 - Laatste beoordeling: maandag 3 december 2007 - Wijziging: 2.5
De informatie in dit artikel is van toepassing op:
  • 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 Framework 1.1
  • Microsoft .NET Framework 1.1 Service Pack 1
Trefwoorden: 
kbsecurity kbtshoot KB887459

Geef ons feedback

 

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