Черный список IP-адресов - PullRequest
1 голос
/ 30 мая 2011
<?php if($_SERVER['REMOTE_ADDR'] != 'xx.xx.xx.xx') { 
header("Location: http://google.com");
} ?> 

Это хороший способ заблокировать определенные IP-адреса от доступа к некоторым папкам на моем сервере Windows?

Или его можно перехватить с помощью прокси-программ, таких как webscarab, и исходный IP-адрес можно изменить, чтобы обойти это?

Ответы [ 2 ]

3 голосов
/ 30 мая 2011

Его можно обойти с любым прокси, у которого IP-адрес отличается от того, который вы блокируете. Вы можете проверить X-Forwarded-For (выкопать его с помощью apache_request_headers() , если вы используете Apache), но это будет намного проще подделать, если вы дадите ему приоритет над $_SERVER['REMOTE_ADDR'].

Кроме того, я могу игнорировать ваш заголовок Location. Поставьте exit после него.

0 голосов
/ 30 мая 2011

Если вы хотите блокировать только по IP, вы можете использовать .htaccess для этого - проще установить правило для набора каталогов, чем создавать много файлов php.Но это не хороший метод для пользователей фильтра.Создайте простую форму регистрации или используйте API из твиттера, фейсбука или другого.

...