neljapäev, 21. jaanuar 2010

Request.UrlReferrer abil päringuketramise takistamine "Valge" nimekirja põhiselt

Kui ei taha, et kõiksugu päringuketramist kasutavad vahendid (otsimootorid ja häkkerautomaadid) hakkavad sinu veebirakendust susima ja seal auke leidma võib kasutada
meetodit, kus näiteks MasterPage sees kontrollid UrlReferrer sisu "Valge" nimekirja alusel.

protected void Page_Load(object sender, EventArgs e)
{
if (!((this.Request.UrlReferrer.ToString().Contains("RakenduseRoll"))
|| (this.Request.UrlReferrer.ToString().Contains("login.aspx"))
))
{
Response.Redirect("~/login.aspx");
}
}

ehk kui UrlReferrer sisu pole sobiv, siis suunad avalehele tagasi.
Senikaua kuni UrlReferrer sisu ära taibata üritatakse võid ennast muretumalt tunda.
Kõrvalnähuna tuleb VisualStudio veebiteste modifitseerida ja nii mõnigi muu asi võib katki minna ehk eelnevalt kindlasti kontrollida kas
this.Request.UrlReferrer==null