Blokada IP


(Marcinbittel) #1

Jak zrobić, by numer IP przeze mnie wyznaczony nie mógł wchodzić na moją stronę ?? Chodzi mi o kod, który poźniej bym skopiował do wszytskich podstron i by było git :smiley: .

PS. Z góry dzięki !!


(Skr3czu) #2

To bedzie tak:


(Craker92) #3

Zainstaluj Steganos Internet Anonym lub łącz się przez serwer proxy...

Poczytaj tu...


(Marcinbittel) #4

w REMOTE_ADDR mam wpisać stronę jaka się wyświetli, gdy ktoś wejdzie na stronę i będzie zablokowany, a w $zablokowane_ip = "xx.xx.xx.xx"; w tych iksach to mam wpisać IP. I to tyle, tak ?? Skrypt wszystko zrobi??

EDIT: craker9 ty to mi chyba podałeś jak wejść na stronę jak ktoś mnie zablokuje, a mi chodzi na odwrót - ja chcę kogoś zablokować na mojej stronie.


(Wojsmol) #5

możesz stworzyć plik .httaccess w głównym folderze strony i w nim zablokować dostęp KLIK


(Kutar 0) #6

REMOTE_ADD zostawiasz (to jest stała w PHP przechowująca adres IP odwiedzającego). Tylko w iksach wpisz IP jaki ma mieć odcięty dostęp do strony. Skrypt umieść na początku pliku (ów), do którego chcesz ograniczać dostęp i tyle.


(floyd) #7

Ja pewnego razu zrobiłem tak, że przkierowywało faceta na jego własną stronę ale można też na inną, a nawet na taką gdzie można nabawić się poważnej grypy :frowning:

$ip = getenv('REMOTE_ADDR');

$zablokowane_ip = "xx.xx.xx.xx";

if (ereg($zablokowane_ip,$ip))

{

Header("Location: http://onet.pl");

}

(Skr3czu) #8

Jezeli to kilka osob uzyj tego skryptu:


(adpawl) #9

Przecież to sprawdzi tylko dla ostatniego IP! :o

Dowód:


(mrbungle) #10

lepiej chyba tak:

<? 

$ip = getenv('REMOTE_ADDR'); 

$zablokowane_ip = array(

'xxx.xxx.xxx.xxx',

'yyy.yyy.yyy.yyy',

'zzz.zzz.zzz.zzz'); 


if (in_array($ip, $zablokowane_ip)) 

{ 

echo "Twoje IP jest zbanowane"; 

exit(); 

} 

?>

p.s.

kiedyś walczyłem jak zablokować kolesia z neo (zmienne IP) i znalazłem sposób poprzez odczyt MAC adresu karty sieciowej... niestety działało to tylko gdy serwer był na windzie i miał dostęp do komend systemowych (system lub exec)... z serverm na linuksie jest juz gorzej :frowning:


(Href) #11

troche to glupie bo z z adresami ip bedacymi za natem?

mrbungle, twoje rozwiazanie tez nie bedzie dzialac dla wszystkich ip, powinno sie to przejechac foreach'em:

<? 

$zablokowane_ip = array( 

'xxx.xxx.xxx.xxx', 

'yyy.yyy.yyy.yyy', 

'zzz.zzz.zzz.zzz'); 


foreach ($zablokowane_ip as $wartosc)

{ 

if (strcmp($_SERVER['REMOTE_ADDR'],$wartosc)

{

echo "Twoje IP jest zbanowane"; 

exit(); 

} 

}

?>

(Monczkin) #12

href proszę zacząć ozywać polskiej pisowni na forum


(mktos) #13

href, przecież mrbungle użył funkcji in_array, co jest rozwiązaniem dokładnie takim samym (aczkolwiek powinno być nieco szybsze) jak foreach, a o ile ładniej wygląda :slight_smile:


(mrbungle) #14

polemizowałbym tutaj... podaj mi dla jakiego IP nie będzie działać? chyba jak użyje się IPv6...

poza tym nie wiem co ma tu doczynienia NAT... siec wewnętrzna czy też zewnętrzna to nie ma znaczenia... chyba w zalezności jak wywołasz z URLa... :expressionless:


(Href) #15

sory nie przyjrzalem sie dokladnie i jakos umknelo mi to in_array

a z adresami bedacymi za natem chodzilo mi o to ze banujac jedną osobe zbanuje sie calą siec, ale tak to juz jest ; )


(squeet) #16

href - byłeś o coś proszony.

Używaj polskich znaków w pisowni postów.


(mrbungle) #17

niestety NAT (faktycznie w 90% rozwiązań jest to PAT) rozwiązuje wiele problemów z protokołem TCP/IP v4 ale nie ma rzeczy idealnej... to jest niewątpliwie wada NAT'a... i nie wiem jakiego byś użył sposobu to zawsze zablokujesz sieć :frowning: