Автор Тема: проверка IP  (Прочитано 16339 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Enemy

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 204
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.lutsiv.com
проверка IP
« : 08 Ноября 2001, 18:13:55 »
Меня достал один тип который постоянно оставляет свои маты в моей гостевой :(...

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

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
проверка IP
« Ответ #1 : 08 Ноября 2001, 18:33:05 »
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,

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
проверка IP
« Ответ #2 : 08 Ноября 2001, 20:07:55 »
Britva А что это за HTTP_CLIENT_IP? Первый раз слышу.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
проверка IP
« Ответ #3 : 08 Ноября 2001, 21:51:24 »
Макс
Это я из xmb взял, и тоже до этого не слышал :)
если пишут, значит есть :)
Евгений aka Razor,

Оффлайн Enemy

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 204
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.lutsiv.com
проверка IP
« Ответ #4 : 09 Ноября 2001, 17:16:04 »
Цитировать
ну и проверяй потом, соответствует, или нет


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

Оффлайн DimovD

  • Ноу проблем
  • Пользователь
  • **
  • Сообщений: 79
  • +0/-0
  • 2
    • Просмотр профиля
проверка IP
« Ответ #5 : 10 Ноября 2001, 14:22:41 »
HTTP_CLIENT_IP - этой переменной сервер пытается определить адрес usera на прямую исключая пркси...

Оффлайн Chpock

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://chpock.dp.ua/chat/
проверка IP
« Ответ #6 : 16 Февраля 2002, 13:37:31 »
сорри что так поздно..... но вы в курсе что будет если "HTTP_CLIENT_IP" передать в качестве GET или POST перематров?
W.B.R.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
проверка IP
« Ответ #7 : 16 Февраля 2002, 15:09:03 »
Во-первых это зависит от порядка 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
« Последнее редактирование: 16 Февраля 2002, 15:16:59 от Макс »
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн alesh

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 97
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.alesh.ru
проверка IP
« Ответ #8 : 13 Марта 2002, 14:25:50 »
Я на свое м сайте использую простую систему из двух файлов
1. Ban.php ( прикреплен к header.php  в самом начале, т.е. открывается В Е З Д Е первым.

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


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

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

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
проверка IP
« Ответ #9 : 13 Марта 2002, 14:29:06 »
alesh вроде бы всё хорошо
но если человек поматюгался у него порвалась связь и он заново зашел ему назначился другой ИП и всё заново а потом хороший человек подключился и ему присвоили ИП подлеца что делать?
Тут ещё требуется протоколировать дату и баннить спамера на 2-24 не более :)
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
проверка IP
« Ответ #10 : 13 Марта 2002, 14:30:53 »
А если он сидит за анонимной проскеё и суёт ей вшивые адреса то отключая всю проскю появляется возможность заблокироват большую корпоративную сеть
Может просто отключить мат в гостевой?
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн alesh

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 97
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.alesh.ru
проверка IP
« Ответ #11 : 13 Марта 2002, 14:35:23 »
Ну тогда нада банить по ип И по кукам.
что-то типа

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


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

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

Оффлайн alesh

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 97
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.alesh.ru
проверка IP
« Ответ #12 : 13 Марта 2002, 14:39:50 »
А, ну и еще прикрепить сюда проверку по 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");
}
?>

Оффлайн alesh

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 97
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.alesh.ru
проверка IP
« Ответ #13 : 13 Марта 2002, 14:43:52 »
Цитировать

Может просто отключить мат в гостевой?


это не возможно практически, только теоретически. Потому , что  Велика и СильНа Наша РУсска Языка. Можно извратиться так , что никакой цензор не поможет :(

Но если он такой
Цитировать

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

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

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
проверка IP
« Ответ #14 : 13 Марта 2002, 14:55:39 »
alesh

Цитировать
Цитата:

Может просто отключить мат в гостевой?


Модератором
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28