Четверг, 2025-01-23, 6:17 AM
Статьи - PHP
Приветствую Вас Гость | RSS
Главная страница Каталог статей Регистрация Вход
Меню сайта

Категории каталога
PHP [158]
Статьи по PHP

Наш опрос
Какую технологию вы предпочитаете?
Всего ответов: 250

Начало » Статьи » PHP » PHP

Как можно проверить какой 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");
}
?>

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

Категория: PHP | Добавил: webmaster (2006-12-06)
Просмотров: 355 | Рейтинг: 0.0 |

Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа

Сервисы

Поиск по каталогу

Друзья сайта

| Ссылки 1 | Ссылки 2 | Ссылки 3 |
www.webmaster.clan.su Каталог+поисковая система be number one Bakililar.az Top Sites Сервис авто регистрации в
каталогах, статьи про раскрутку сайтов, web дизайн, flash, 
photoshop, хостинг, рассылки; форум, баннерная сеть, каталог 
сайтов, услуги продвижения и рекламы сайтов Скрипт для определения тиц (Яндекс CY: индекс цитирования). Определение pr (Google Pagerank). Проверить тиц pr сайта.
Copyright WebMaster.Clan © 2006 Бесплатный хостинг uCoz