#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 или другого.