Показано с 1 по 9 из 9

Тема: Прокси или нет.

  1. #1

    Регистрация
    04.04.2007
    Сообщений
    15
    Добрый день.

    Пробовал искать но не нашел.

    Вопрос простой: как узнать пользователь вошел на мой сайт через прокси или просто?

    Заранее спасибо

  2. #2

    Регистрация
    04.04.2007
    Сообщений
    6
    Ну собственно по прокси ты можеш определить "якобы" местанахождение человека.
    Но вот так сходу сказать нельзя, просто например ты знаеш, что человек из России, а айпи его показывает, что он например из Зимбабве - подозрительно. Хотя есть и Русские прокси)..
    Только методом догадок можно.

  3. #3

    Регистрация
    04.04.2007
    Сообщений
    15
    Анализировать заголовки и переменные сервера $_SERVER.

    Есть вар-т

    //////////////////

    proxy URI specifying address of proxy server. (e.g. tcp://proxy.example.com:5100 ).

    Значит ли это, что юзер который зашел на мой сайт с адреса TCP://proxy... - использует прокси?

    Если да то просто беру этот путь из $_SERVER[ "<что-то там>" ], вырезаю первые 3 символа и сравниваю....

    П.С: что-то мне подсказывает, что ерунду написал..

  4. #4

    Регистрация
    04.04.2007
    Сообщений
    6
    Originally posted by Testing001@Apr 4 2007, 23:15
    Если да то просто беру этот путь из $_SERVER[ "<что-то там>" ], вырезаю первые 3 символа и сравниваю....

    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
    [/quote]

    Непонял этой фразы.

  5. #5

    Регистрация
    11.02.2007
    Адрес
    Донецк, Украина
    Сообщений
    96
    во-первых нужно уточнить, что конкретно вы хотите определить. у многих стоят различные локальные прокси на их машинах, или например доступ к интернету на какой-нибудь фирме осуществляется с помощью прокси сервера -- отличить поведение такого "честного прокси" от так называемых "transparent public proxy servers" которые используются для сокрытия своего айпи, обхода различных банов и т.п. малореально, если не сказать невозможно

    да и собственно определить является ли какой-то адрес, адресом одного из таких прокси серверов на основе только лишь данных из $_SERVER и пр. грубо говоря нельзя

    proxy URI specifying address of proxy server. (e.g. tcp://proxy.example.com:5100 ).
    а что это??

  6. #6

    Регистрация
    04.04.2007
    Сообщений
    15
    <?php

    $ip = (empty($_SERVER[&#39;HTTP_X_FORWARDED_FOR&#39;]) || $_SERVER[&#39;HTTP_X_FORWARDED_FOR&#39;] == &#39;unkown&#39 ? 0 : $_SERVER[&#39;HTTP_X_FORWARDED_FOR&#39;];

    if (!$ip || $ip != $_SERVER[&#39;REMOTE_ADDR&#39;])) {
    echo &#39;Proxy? &#39;;
    } else {
    echo &#39;Norm&#39;;
    }

    ?>

    правда прокси вряд ли мечтают оставить тебе HTTP_X_FORWARDED_FOR?

    P.S. ТАМ ГДЕ СМАЙЛ ПРОСТО : и ) слились, то есть часть кода

  7. #7

    Регистрация
    11.02.2007
    Адрес
    Донецк, Украина
    Сообщений
    96
    правда прокси вряд ли мечтают оставить тебе HTTP_X_FORWARDED_FOR?
    вот именно. прокси сервер может передать любое значение этой переменной )) и если этот прокси-сервер является "анонимным", то эта переменная будет просто дублировать переменную REMOTE_ADDR и скрипт будет думать что это не прокси.

  8. #8

    Регистрация
    04.04.2007
    Сообщений
    15
    Scorched.dn.ua

    А ты знаешь, что-нибдуь еще о определнии, может необзяательно скриптами брать (хотя хорошо было бы скриптами), мою проксю (через честного прокси, как ты сказал) пробил один сервер, на этом сервере был сайт php-nuke+шаблонный форум, сам понимаешь, фигня )))

    А проксю пробил, однако, тогда модет быть нужна прога?

    Ты знаешь, какие-нибудь?

    $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"] - эта переменная содержит внутренний IP адрес, в случае использования прокси сервера
    $HTTP_SERVER_VARS["REMOTE_ADDR"] - эта переменная содержит IP адрес компьютера, либо внешний IP прокси сервера
    $GLOBALS[HTTP_VIA] - переменная, в которой находится информация, через какой прокси проходят данные.

    А этих переменных недостаточно?

    Scorched.dn.ua

    Смотри скрипт. Если HTTP_X_FORWARDED_FOR не существует или равен unkown, то пишем в переменную 0, если нет, то пишем IP адрес.

    Далее проверяем переменную. Если равна 0 - выводим "Прокси". Если HTTP_X_FORWARDED_FOR != REMOTE_ADDR, то тоже прокси, только не прозрачный. НЕ прокси только тогда, когда HTTP_X_FORWARDED_FOR == REMOTE_ADDR, причем оба индекса существуют.

  9. #9

    Регистрация
    04.04.2007
    Сообщений
    15
    1). Не все прокси оставляют за собой заголовки, которые бысплатно кидают, то ЛИЧНО Я тестил, многие бесплатные оставляют.
    2). В основном берут платные, а это гораздо хуже, потому что они уже не оставляют, а значит отловить на PHP такие уже нельзя.
    3). Все означает не %100 результат.


    PS
    Если боитесь взломщиков, то не волнуйтесь, они работют с high-anonymous proxy, за которые платят, и которые не раскрывают свои заголовки. Поэтому мое мнеие - просто создать очень хорошую структуру для Сайта.

Похожие темы

  1. Американский прокси
    от Lem в разделе Флейм
    Ответов: 3
    Последнее сообщение: 13.05.2005, 03:10

Ваши права

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