Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Интернет технологии -> PHP -> Как можно проверить какой IP, и запретить доступ к странице?


Как можно проверить какой IP, и запретить доступ к странице, или переслать на другую?

if(getenv("HTTP_CLIENT_IP")) {
$ip = getenv("HTTP_CLIENT_IP");
} elseif(getenv("HTTP_X_FORWARDED_FOR")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else {
$ip = getenv("REMOTE_ADDR");
}
ну и проверяй потом, соответствует, или нет
__________________
Евгений aka Razor, http://eugeny.com

пробовал, работает. Теперь, я еще и записываю в файл IP
  всех кто в гостевой, так что уже не должно быть проблем .

HTTP_CLIENT_IP - этой переменной сервер пытается определить адрес usera на   прямую исключая пркси...

сорри что так поздно..... но вы в курсе что будет если "HTTP_CLIENT_IP"   передать в качестве GET или POST перематров?

Во-первых это зависит от порядка EGPCS
  Во-вторых в приведенном примере HTTP_CLIENT_IP берется через getenv() то есть   GET и POST на него не влияют.

И еще по поводу общей темы. У меня был случай когда код

if(getenv("HTTP_CLIENT_IP")) {
  $ip = getenv("HTTP_CLIENT_IP");
  } elseif(getenv("HTTP_X_FORWARDED_FOR")) {
  $ip = getenv("HTTP_X_FORWARDED_FOR");
  } else {
  $ip = getenv("REMOTE_ADDR");
  }

неработал. Проблема была в том что человек сидел за каким-то нестандартным   прокси и
  он определял HTTP_X_FORWARDED_FOR как строку "undefine".
  Поскольку это была именно строка if(getenv("HTTP_X_FORWARDED_FOR"))   возвращало true, ну а дальше все понятно.
  Поэтому я еще делал проверку чтобы было соответствие формату ip DDD.DDD.DDD.DDD

Я на свое м сайте использую простую систему из двух файлов
  1. Ban.php ( прикреплен к header.php в самом начале, т.е. открывается В Е З   Д Е первым.

<?php
  $ban=getenv("REMOTE_ADDR");
  if ($ban=="ip забаненного ") {
  include "banau.php";/ если твой ip - забанен , то вставлаю файл с   авторизацией.
  }
  ?>

2. banau.php самая обыкновенная авторизация. Так что этот подлец которого Я   забанил ко мне не ходит.

Еще можно было бы ему в куки записывать при входе на страничку которая выдаеться   при трех неудачных попытках авторизоваться <?
  setcookie ("banned", "yes"); ?>

_________________
  http://www.alesh.ru

alesh вроде бы всё хорошо
  но если человек поматюгался у него порвалась связь и он заново зашел ему назначился   другой ИП и всё заново
  а потом хороший человек подключился и ему присвоили ИП подлеца что делать?
  Тут ещё требуется протоколировать дату и баннить спамера на 2-24 не более

Ну тогда нада банить по ип И по кукам.
  что-то типа

<?
  $ban=getenv("REMOTE_ADDR");
  setcookie ("banned", "yes");
  setcookie ("ip", "$ban"); ?>
  if (@$HTTP_COOKIE_VARS["banned"] == '' ) { // смотри на здоровье!   
  ...
  }
  else {
  include "banau.php";
  }
  ?>


  Ну и добавить сюда еще и второй цикл для кука $ip

И тогда будет двойная проверка.
  А по другому никак. Ну можно еще надеятся, что все недоброжелатели сидят на   выделенках с прямыми айпишниками
  А, ну и еще прикрепить сюда проверку по ip! если у него он постоянный все таки

И того в итоге получиться......

<?php
  $ban=getenv("REMOTE_ADDR");
  if ($ban=="127.0.0.1" & $HTTP_COOKIE_VARS["banned"]   =="yes" $) {
  include "banau.php";
  setcookie ("banned", "yes");
  setcookie ("ip", "$ban");
  }
  ?>

сидит за анонимной проскеё и суёт ей вшивые адреса то отключая всю проскю появляется   возможность заблокироват большую корпоративную сеть

И это действительно так, то
  1. Надо просто стереть его сообщение в гостевой
  2. Забанить его и написать по всем вопросам обращайтесь banned@host.ru
  и Сидеть себе спокойно Кому надо напишет
  __________________
  http://www.alesh.ru

Источник: www.articles.org.ru

Ссылки по теме
Разработка собственных листов рассылки
Безопасность PHP+MYSQL+Apache
Чтение почты через Web-интерфейс
Полезные скрипты на PHP
PHP и формы
Почтовые функции в РНР
Отправка электронной почты с помощью PHP
 

Компьютерная документация от А до Я - Главная

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.
 
Rambler's Top100