IP-адрес в черном списке

#php #ip #blacklist

#php #ip #черный список

Вопрос:

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

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

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

Комментарии:

1. Дружеское напоминание: не забудьте принять хороший ответ, нажав на флажок рядом с ответом. Вы можете вернуться и сделать это также по своим старым вопросам, что поможет другим быстрее находить решения.

Ответ №1:

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

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

Комментарии:

1. Спасибо за ваш быстрый ответ, Алекс. Но не могли бы вы предложить программное обеспечение или альтернативу htaccess, которое я мог бы использовать в IIS 7.5?

2. @PHPBeginner Извините, я забыл, что вы используете IIS. Делать это на PHP — это нормально, если вы делаете это правильно. Кроме того, вы пытаетесь остановить доступ к серверу, выполняющему перечисление каталогов? Я уверен, что это можно отключить через конфигурацию IIS.

3. Я предоставляю доступ для входа некоторым людям, которым я доверяю. Итак, я заношу их IP-адреса в белый список, используя этот скрипт.

4. На самом деле это действительно похоже на белый список для меня.

5. Итак, ничего, если я его использую? Или за этим кроется недостаток безопасности. И прошу прощения, если я немного отклонился от темы. Алекс, почему это отличается, если у меня установлен Apache, например. Является ли это эксплойтом apache? Извините, но я все еще новичок.

Ответ №2:

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