muszę zablokować jeden adres IP lub klasy w ASP.NETJak zablokować adres IP lub klasy IP w ASP.NET
Czy ktoś może mi pomóc z kodem? A jak wdrożyć?
Dzięki
muszę zablokować jeden adres IP lub klasy w ASP.NETJak zablokować adres IP lub klasy IP w ASP.NET
Czy ktoś może mi pomóc z kodem? A jak wdrożyć?
Dzięki
można uzyskać adres IP klienta z wykorzystaniem HttpRequest.UserHostAddress
property (wystąpienie można uzyskać dostęp za pomocą this.Request
z dowolnej strony lub za pomocą właściwości statycznych HttpContext.Current
).
O ile mi wiadomo, nie ma standardowej metody porównywania adresu IP z określonym zakresem, więc trzeba samemu zaimplementować ten fragment.
prawdopodobnie będziesz chciał sprawdzić to na każde żądanie, które mogą być wykonane zarówno w metodzie każdej strony OnInit
(które chcesz zablokować) lub w BeginRequest
event zgłoszenia (zazwyczaj w Global.asax
).
Jeśli wykryć zablokowanego adresu, można wyprowadzać pusta (zastępczy) Strona używając Server.Transfer
method (Response.End
byłaby inna alternatywa, ale to po prostu odcina stronę - powracającego pustą stronę, a Server.Transfer
pozwala na wyjście niektóre wiadomości do Klient).
Jeśli masz na myśli "blok" to "nie pozwól im nękać mojego serwera", to nie jest problem z asp.net, potrzebujesz zapory ogniowej (oprogramowania lub sprzętu).
Jeśli to, co masz na myśli przez „blok” jest „nie wykazują moich stron”:
' pseudocode, I haven't checked the exact syntax
Sub Page_Load()
If HttpRequest.UserHostAddress = "123.123.123.1" then
Response.Redirect "404.htm" ' send them elsewhere
end if
End Sub
+1 za sugestię obsługi tego rodzaju rzeczy na poziomie zapory ogniowej zamiast na poziomie oprogramowania, jeśli to możliwe. –
wspomnieć, że nie są zapoznani z ASP.NET, więc może to doskonałe artykuł z Rick puszka pomóc jak to w pełnym artykule na temat sposobu blokowania adresów IP, a nawet obszar administracyjny do zarządzania nimi ...
wiem, jak je zdobyć, ale nie kn jak je zablokować. Nie jestem bardzo obeznany z asp.net – FinalDestiny
Należy to również zrobić na HttpModule, ponieważ nie chcesz zużywać zasobów serwera WWW, przetwarzając niepotrzebnie żądanie, jeśli adres IP jest zablokowany. – Anero
@FinalDestiny: Dodano resztę odpowiedzi :-) –