Черный список IP-адресов

<?php if($_SERVER['REMOTE_ADDR'] != 'xx.xx.xx.xx') { header("Location: http://google.com"); } ?> 

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

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

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

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

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