neljapäev, 23. juuli 2009

URL RequestFiltering koos ReportViewer Controliga IIS7 peal

IIS7 on veebirakendustele selline tore sisseehitatud võimalus filtreerida GET päringuid URL andmete järgi, ehk rakenduse web.config failis, saab requestFiltering filtering osas ära määrata, kui pikk saab olla maksimaalne
URL ja kui pikk saab olla QUERYSTRING. Aitab näiteks SQL injektsiooni rünnakute vastu.
Kui on ka kasutusel ReportViewer aruannete tegemiseks, tuleb arvestada, et see ReportViewer ise teeb ka palju GET päringuid, mis isenesest võivad olla päris pika QUEYSTRING-iga näiteks
URI: /Reserved.ReportViewerWebControl.axd?Mode=true&ReportID=56afacf3f4c74cd69af397d2b8eefc0b&ControlID=a64ab41370cf4a28ba5967b952cf9038&Culture=1061&UICulture=1061&ReportStack=1&OpType=ReportImage&StreamID=148c7b15-8020-4ce4-9e17-a48043495af8

Otstarbekam on nüüd määrata eraldi web.configis reegel location elemendiga ReportViewerile näiteks niimoodi: