Гостевая
Форум
Разделы
Главная страница
Js скрипты
Php скрипты
Html шаблоны
Книги по Web дизайну
Статьи


Главная страница статей --> Советы по фотошопу, графике и хитрости в построении php кода

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

Источник: realcoding.net

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 самая обыкновенная авторизация. Так что этот подлец которого Я забанил ко мне не ходит.

Еще можно было бы ему в куки записывать при входе на страничку которая выдаеться при трех неудачных попытках авторизоваться

-------------------------
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



Похожие статьи:
- Что такое RSS?
- Какая поисковая система лучше: Яндекс, Рамблер или Апорт?
- Использование протокола TCP/IP
- Протокол SOCKS 5
- Что такое DNS
- Простой способ повышения Page Rank в поисковых системах
- Search Engine marketing
- Google FAQ для вебмастеров
- Понимание XML
- Берегите почтовый ящик вашего пользователя
- Раскрутился, жди проблем!
- Выбор хостинга - семь раз проверь
- PHP против ASP - делайте ставки, господа!


Оглавление | Обсудить на форуме | Главная страница сайта | Карта сайта |
[0.001]