ASP.NET'te kurallı kullanım sorunlarını programla sınama

Makale çevirileri Makale çevirileri
Makale numarası: 887459 - Bu makalenin geçerli olduğu ürünleri görün.

Vazgeçme Belgesi

Microsoft Knowledge Base'deki bilgiler hiçbir garanti verilmeden "olduğu gibi" sağlanır. Ticari olarak satılabilirlik ve belirli bir amaca uygunluk da dahil olmak üzere doğrudan ya da dolaylı hiçbir garanti verilmemektedir. Microsoft Corporation veya tedarikçileri, bu gibi zararlar olabileceği Microsoft Corporation veya tedarikçilerine önceden bildirilmiş olsa dahi, doğrudan, dolaylı, arızi, neticede oluşan, gelir kaybına neden olan ya da özel hiçbir hasar için sorumlu tutulamaz. Bazı bölgelerde, neticede oluşan ya da kaza sonucu oluşan hasarların kapsam dışında tutulmasına ya da kısıtlanmasına izin verilmez. Bu nedenle bu kısıtlamalar uygulanmayabilir.
Hepsini aç | Hepsini kapa

Bu Sayfada

GİRİŞ

Bu makalede, sık karşılaşılan kurallı kullanım sorunlarından korunmak için bir ASP.NET uygulamasına nasıl koruma ekleneceği anlatılmaktadır.

Daha fazla bilgi

Kurallı kullanım nedir?

Kurallı kullanım, bir adın çeşitli eşdeğer biçimlerinin tek bir standart ad olarak çözümlenmesini sağlayan işlemdir. Tek bir standart ad kurallı ad olarak da bilinir. Örneğin, belirli bir bilgisayarda c:\dizin\test.dat, test.dat ve ..\..\test.dat adlarının tümü aynı dosyayı gösterebilir. Kurallı kullanım, bu gibi adları c:\dizin\test.dat adına benzer bir ada eşleyen işlemdir.

URL Web sunucusu tarafından alındığında, sunucu bu isteği yanıtı belirleyen bir dosya sistemi yoluna eşler. İsteği eşlemek için kullanılan kurallı duruma getirme yordamı, beklenmeyen bir içerik sunmamak ve işlememek için URL'yi doğru şekilde ayrıştırmalıdır. Kurallı kullanım hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/aa302420.aspx
Uygulamalarınızı korumak için en iyi uygulamaları kullanmanızı öneririz. Ek bilgi için aşağıdaki bölüme bakın.

Web uygulamanıza ek kurallı kullanım korumaları ekleme

Microsoft ASP.NET geliştiricileri, bir Web uygulamasındaki kurallı kullanım sorunlarını azaltmaya yardımcı olması için Web uygulamasının kök dizininde depolanan Global.asax dosyasına bir Application_BeginRequest olay işleyicisi ekleyerek daha fazla denetim kullanabilir. Bu olay işleyicisi her Web isteği için yürütülür. Kurallı kullanım sorunlarına karşı koruma sağlamaya yardımcı olmak için bu olay işleyicisine kod ekleyebilirsiniz.

Kod örneği

Aşağıdaki kod örnekleri bir Global.asax dosyasına nasıl Application_BeginRequest olay işleyicisi ekleneceğini göstermektedir. Bu olay işleyicisi, yol doğrulamaları uygulayarak geçersiz karakterlerin ve hatalı biçimlendirilmiş URL'lerin engellenmesine yardımcı olur. Böylece sık karşılaşılan kurallı kullanım sorunlarından kaçınabilirsiniz.

Global.asax kod örneği (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, "Bulunamadı") 
    End If 
End Sub 
</script>

Global.asax kod örneği (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, "bulunamadı"); 
    } 
} 
</script>

Özellikler

Makale numarası: 887459 - Last Review: 3 Aralık 2007 Pazartesi - Gözden geçirme: 2.5
Bu makaledeki bilginin uygulandığı durum:
  • 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
Anahtar Kelimeler: 
kbsecurity kbtshoot KB887459

Geri Bildirim Ver

 

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