Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Banowanie zmiennego IP z cookie
Forum PHP.pl > Forum > Gotowe rozwiązania
logoss
Mam pewien problem ze skryptem . Pisze sktypt banowania IP z zastosowaniem cookie, ale systemu kont .

<?php
$IP = $_SERVER['REMOTE_ADDR'];
set_cookie($IP);
function set_cookie($name)
{
$i = $_SERVER['REMOTE_ADDR'];
setcookie($name, $i, time() + 300);
$_COOKIE[$name] = $i;
}
?>
<?php
if (!empty($_COOKIE['xxx.xxx.xxx.xxx']))
die ('Sorry, masz bana !');
else echo "";
?>
Ban oczywiście działa , adres IP zapisuje się jako name i volue w cookie . Problem polega na tym że po zmianie IP dopisuje drugie cookie z nowym IP i ignoruje poprzednie . Prosze o pomoc . Dziękuję
redeemer
1. Korzystaj z bbcode przy wstawianiu kodów.
2. Banowanie po cookie mija się z celem, bo cookie można łatwo usunąć (lub skorzystać z trybu incognito albo innej przeglądarki).
3. Jeżeli koniecznie chcesz to zrobić w cookie to nie potrzebujesz zapisywać adresu IP w cookie. Wystarczy, że ustawisz cookie o stałej nazwie np. "BAN" i to wszystko.
logoss
No tak , fakt . Z tym że zastosowalem tą metodę żeby pominąć system kont każdy wchodzący na stronę otrzymalby inny cookie w postaci swojego IP (dlatego ustawiłem nazwe jako IP) i dodając IP do if (!empty($_COOKIE['xxx.xxx.xxx.xxx'])) nawet po zmianie IP zostawałby cookie o tej nazwie (xxx.xxx.xxx.xxx). Problem polega na tym ze po zmianie IP dopisuje nowe cookie a poprzednie ignoruje , czyli musiałbym wpisać np. if (!empty($_COOKIE['yyy.yyy.yyy.yyy'])) żeby ban zadziałał smile.gif
irekk
Jak już kolega napisał, banowanie oparte o cookie mija się z celem. Nie atakuje się przy użyciu przeglądarki bo to jest mało efektywne. Pisze się skrypty które korzystają choćby z curla. A tam trzeba dopisać obsługę ciastek. W przypadku ataków nie ma sensu na to liczyć. Lepiej blokować dostęp do serwisu na podstawie danych trzymanych po stronie serwera.
logoss
No tak , tylko czy w moim poscie padlo pytanie o skuteczność banowania przez cookie?? Chyba nie . Nie ma skutecznego sposobu ....evercookie??..nawet nie trzeba ich szukać , wystarczy otworzyć przeglądarkę w piaskownicy , mac , id hdd questionmark.gif...bez problemu do obejscia soft-em.(i probem z uzyskaniem za NAT) Czy to jest forum pt. "mądrzenie sie ?" Irekk
ohm
Dobrze byłoby, wg mnie, chociaż zamaskować adres w cookie przez jakiegoś xora czy cokolwiek innego.
tzm
Jak dla mnie każde zabezpieczenie ma sens i nie ma co mówić że cookie jest słabe bo można go usunąć.
Jak pamiętam po grach to bany dostawali debile którzy nie znali się na technikach w jakich gry były tworzone.
Jak ktoś dobrze ogarnia to nie dostanie bana, a jak ktoś słabo ogarnia i nadużywa regulaminu, dostaje bana, to nie koniecznie musi umieć zajrzeć w ciastka czy pisze tam BAN.
redeemer
1. @logoss: Po co zapisywać adres ip w cookie? Jaki jest tego cel? Możesz mi wyjaśnić, bo zupełnie tego nie rozumiem.

2. @tzm: Zapisywanie w cookie nie ma sensu. I nie, nie musisz sie znać "na tym", szukać cookie i usuwać. Nie musisz nawet wiedzieć co to jest to cookie. Odpalasz kartę w trybie incognito i ban znika. Mało ogarnięte gimbusy myślą, że karta incognito zapewnia im anonimowość w internecie. Są w błędzie, ale pierwsze co będą próbować zrobić, aby ominąć bana to właśnie włączyć tryb incognito.

3. Banowanie po IP powinno być trzymane po stronie serwera (baza danych, memcached, cokolwiek). I tak, to też się da ominąć korzystając z odpowiednich serwerów pośredniczących (proxy, tor itd.), ale lepiej się nie da - koniec kropka. Są też metody do sprawdzania czy ktoś korzysta z serwerów pośredniczących ale to nie dotyczy tego wątku.
logoss
redeemer
Z doświadczenia wiem że działania "gimbusów" sa jednak inne . Dostępność net-a z TP(obecnie Orange) i firm pokrewnych (też net mobilny) co wiąże sie ze amiennym IP powoduje ze pierwsze co robią "gimbusy" to resetują routery , modemy. Oczywiście ze podstawą jest ban ustawiony po stronie serwera. A wygląda to tak że banowane IP jest wysyłane do plku.txt, z tego pliku jest ustawiane cookie , ale pobierane jest też np. do .htaccess. (Temat proxy pozostawie w "spokoju" , większość bramek można zablokować).Ps. co do zapisania IP w name cookie to faktycznie nie ma sensu , wystarczy jakakolwiek nazwa typu "ban".
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.