2013-04-18 6 views

Antwort

0

im Sitzungs-Start - Event-Handler:

sagen Sie ein Array von blockierten IP dh -Code (Text) haben:

Dim BARR() As String = { "198.122.xxx.xx" "xxx.xxx.xx.xxx" usw.}

-Code (Text):

Dim strIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR") 
If strIP="" Then strIP = Request.ServerVariables("REMOTE_ADDR") 

For i As integer = 0 To bArr.UperBound 
    If strIP = bArr(i) Then 
    Response.Redirect("Permissionsdenied.html") 
    End If 
Next 
+1

Sie bedeuten nicht, Sitzungsbeginn (vor allem, da sie gut in eine Httpmodule für die spätere Weiterverwendung getrennt ist) ... Sie wollen für jeden überprüfen Anfrage, nicht nur der erste in einer Sitzung. – Nathan

+1

Session_Start() - Dieses Ereignis wird jedes Mal ausgelöst, wenn eine neue Sitzung beginnt. Dies ist ein guter Ort, um sessionspezifischen Code abzulegen. – Varun

+0

Sie haben Recht, das ist, wo sitzungsspezifischer Code gehen sollte, aber dieser Code sollte nicht session-spezifisch sein: Wenn ich einen neuen Browser öffne und Seite A von Ihrer Webseite anfordere, dann wird Ihr Code ... mit dem der gleiche Browser, ich mache dann die gleiche Anfrage - und rate mal was ... es wird das zweite Mal gelingen (was nicht das ist, was gewünscht wird) – Nathan

0

ich auf diese Weise in dem beginnen Anfrage Event-Handler in Ihrer globalen Klasse beginnen würde, würde ich bestimmen das Client-IP-Adresse nach dieser Antwort: https://stackoverflow.com/a/9567439/559144

dann, wenn die Verbindung IP ist nicht in der zugelassenen Liste, würde ich auf eine andere Seite wie eine Zugriff verweigert Seite, eine Anmeldeseite oder die Firma/Google-Homepage umleiten.

Verwandte Themen