![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 4.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam, znalazłem taki skrypt:
Kod <? $ip=file("ban.txt"); foreach($ip as $v){ if(trim($v)==$REMOTE_ADDR){ echo "Masz bana :P"; break; } } ?> ban.txt Kod 123.456.789.101 987.654.321.102 Chciałbym mieć możliwość blokowania ip na zasadzie klas, czyli. aby plik ban.txt wyglądał np.123.456.789.* Gdzie * to dowolna końcówka IP, gdyż chcę zablokować wszystkie IP np od 123.456.789.1 do 123.456.789.255 Ten post edytował youare 4.02.2011, 02:16:02 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Trzymaj adres IP w postaci binarnej razem z maską: 192.168.0.0/255.255.0.0. Wtedy przynależność do klasy możesz sprawdzić zwykłymi operacjami bitowymi w PHP. Konwersję na postać binarną wykonasz przy pomocy funkcji inet_pton().
-------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 111 Pomógł: 10 Dołączył: 16.07.2009 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 7 Dołączył: 6.01.2010 Skąd: Opole Lubelskie Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 111 Pomógł: 10 Dołączył: 16.07.2009 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Ja tam 254 blokuję zawsze, kanał dla botów, niebezpieczny.
Tak profilaktycznie. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 4.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję za pomoc i cenne uwagi.
Czy jest jakaś możliwość w PHP, aby zablokować również hosty/domeny np. zablokować każdego kto ma hosta pasującego do reguły *.edu.de |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Tak, tylko musisz pobrać sobie nazwę hosta i później dopasowywać ją przez wyrażenie regularne. Jednak z tego, co czytałem, pobieranie nazwy hosta użytkownika może znacząco spowolnić stronę - w dokumentacji parę osób wypowiadało się, że próba pobrania nieistniejącego hosta trwała ponad 20 sekund.
-------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Sprawdzanie hosta jest zbyt powolne na www jak zauważył Zyx. Wiąże się to z tym, że jeśli user nie ma hosta (a bardzo często na klienckich ip nie ma revdns) to zapytanie dolatuje aż do root-dns przez dziesiątki innych dnsów - root mają sporo info ale są wooolneee
![]() Reasumując nie warta skóra za wyparwkę - jedynie opłaca się wycinać bloki ip. -------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 9.06.2025 - 04:19 |