Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Программирование » PHP » проблема с кэшированием (?)_ прокси-сканер
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
relaxxx
Участник

Зарегистрирован: Jun 2004
Место проживания:
Публикаций: 2
Статус: relaxxx в оф-лайне
проблема с кэшированием (?)_ прокси-сканер [сообщение #68182]

Народ, у меня такая проблема. Начну издалека. Короче, я частенько тусуюсь в одном чате, где еще чаще меня банят, бывает что и по IP. Естественно, единственный выход из сложившиейся ситуации, чтобы мне опять зайти в чат-это использовать прокси-сервер. Но админ там тоже не дурак-написал скрипт, который блокирует вход пользователям, использующих прокси-сервер. Я лично этот скрипт его вживую не видел-но идею раскусил сразу. Он блокирует вход если определяет переменные окружения HTTP_X_FORWARDED_FOR и HTTP_VIA. Найти такой прокси, скрывающий эти переменные весьма проблематично, но можно. Приходится юзать большой список прокси, вводить их в браузер, а потом заходить на страницу своего сайта и в таблице с переменными окружения уже смотреть что определилось, а что нет. Короче говоря, согласитесь, это очень неудобно. И тогда я решил на PHP написать скрипт прокси-сканера. Выдавать я его тут не буду, а просто опишу суть работы. Он состоит из 2 файлов: proxy.php и env.php. Первый файл-это собственно и есть скрипт сканера, второй файл выглядит так :
<?
echo $_SERVER['REMOTE_ADDR']."|||".$_SERVER['HTTP_X_FORWARDED_FOR']."|||".$_SERVER['HTTP_VIA']."|||";
?>
Суть работы сканера. В цикле скрипт выбирает из списка сервера
и посылает HTTP запрос "GET server.com/env.php HTTP/1.1\r\nHost: server.com\r\n\r\n" (то есть чтобы прокси сервер обратился к файлу env.php и естесственно засветил там свои IP-адрес(а) и по возможности VIA ) . Потом скрипт разбивает полученный результат explode ("|||", $result); на массив $result с переменными $result[0], $result[1], $result[2] (соответственно REMOTE_ADDR, HTTP_X_FORWARDED_FOR и HTTP_VIA) и в дальнейшем уже с оформлением выводит в браузер.
Вообщем скрипт на 100% рабочий, но я заметил некоторые непонятки.

1. переменная $result[0] вместо REMOTE_ADDR выводит http хэдер и потом только IP адрес...HTTP_X_FORWARDED_FOR и HTTP_VIA выводятся нормально.Почему так ? Я конечно же могу весь этот ненужный мусор обрубить регулярными выражениями и оставить чистый IP, но во первых интересно почему так происходит, а во вторых честно говоря лень

2. происходит непонятное кэширование. Когда в первом же прокси определяются переменные (not NULL) $result[1] и $result[2] - то в последующих прокси серверах (в которых тоже определены HTTP_X_FORWARDED_FOR и HTTP_VIA) скрипт выводит ответ первого сервера, хотя они на самом деле другие ! Сброс значений в массиве в цикле unset($result); и всякие хэдеры с pragma-no-cashe я использую, а он все равно кэширует Не пойму в чем дело.

Люди добрве, помогите мне в чат зайти )) Может кто знает в чем моя ошибка ? Заранее благодарен .

__________________
ю-ху-ю-ху-ху !

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 21-06-2004 14:57
Нажмите сюда для просмотра профайла relaxxx Отправить Персональное сообщение relaxxx Найти сообщения от relaxxx Добавить relaxxx в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
SCHIZO
STFW
Средний рейтинг: 5 | Оценок: 8
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Jul 2002
Место проживания: Кольский п-ов
Публикаций: 305
Статус: SCHIZO в оф-лайне
[сообщение #68345]

"GET server.com/env.php?".md5(microtime())." HTTP/1.1\r\nHost: server.com\r\n\r\n"

RTFM mod_expires

__________________
FAQ OFF

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 25-06-2004 17:53
Нажмите сюда для просмотра профайла SCHIZO Отправить Персональное сообщение SCHIZO Посетить домашнию страничку SCHIZO! Найти сообщения от SCHIZO Добавить SCHIZO в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 13:20.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.00886703 seconds (30.61% PHP - 69.39% MySQL) with 23 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.