Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 16.10.2015 Ostrzeżenie: (10%)
|
Witam, wiele osób zmagało się z trudnym tematem tego jak zablokować daną narodowość / kraj
na swojej stronie internetowej. Stało się już nawet modne zasięganie do wielkich baz danych typu ip2country. Jest to niestety bardzo dużo roboty dla programisty a znalezienie rozwiązania prostego i rewelacyjnego przyszło mi na myśl właśnie dzisiaj kiedy musiałem zablokować pewnego bota spamującego z różnych IP z Ukrainy który wchodził na forum znajomego opartego na IP Board. Tytułem wstępu: Usługi które służą wspólnemu dobru należy szanować a taką usługą jest whois aby nie zaśmiecać serwerów whois za dużą ilością zapytań nie należy wykonywać skryptu więcej niż raz dla jednego adresu ip więc polecam przechowywać cache wyników. W skrypcie zrobiłem jednak rozwiązanie oparte na sesjach, aby zapytania nie wykonywały się częściej niż jeden raz dla poprawnej sesji. Wykorzystane funkcje: + Sprawdzenie istnienia zmiennej sesyjnej http://php.net/manual/en/function.isset.php + Obsługa połączenia z serwerem Whois http://php.net/manual/en/function.fsockopen.php http://php.net/manual/en/function.fwrite.php http://php.net/manual/en/function.fgets.php http://php.net/manual/en/function.feof.php http://php.net/manual/en/function.fclose.php + Sprawdzenie czy istnieje blokowany string http://php.net/manual/en/function.strpos.php Dobrze dobrze ale gdzie skrypt? http://phpdevil.blogspot.com/2015/10/php-p...arodowosci.html Zapraszam do komentowania i proponowania poprawek (IMG:style_emoticons/default/smile.gif) |
|
|
|
Regz [fragment] Blokowanie narodowości. 16.10.2015, 09:46:29
Pyton_000 Słabe, bardzo słabe...
Twoim rozwiązaniem przy mo... 16.10.2015, 09:54:47
Regz Nie wczytuję pliku, tylko otwieram połączenie z se... 16.10.2015, 10:14:43
Pyton_000 Dobra fakt, mój błąd. Mam dość młota udarowego są... 16.10.2015, 10:41:57 ![]() ![]() |
|
Aktualny czas: 21.11.2025 - 03:01 |