отличить два одинаковые браузеры

Discussion in 'PHP' started by dondy, 23 Aug 2015.

  1. dondy

    dondy Member

    Joined:
    5 Jun 2015
    Messages:
    560
    Likes Received:
    61
    Reputations:
    5
    есть ли способ отличить посещение с одинаковых браузеров? тоесть что бы они не как один фиксировались на сайте а как разные, но уникального в них нет, ещё и ос одинаковая
    установлены с одного установочника, узерагенты и ip одинаковые так как в одной сети они
     
  2. Filipp

    Filipp Elder - Старейшина

    Joined:
    10 May 2015
    Messages:
    257
    Likes Received:
    57
    Reputations:
    31
    Ну обычно это делается по кукам. Присваиваешь сессию одному браузеру, при следующем заходе на сайт они будут отправляться и идентифицировать комп.
     
  3. ocheretko

    ocheretko Banned

    Joined:
    15 May 2010
    Messages:
    144
    Likes Received:
    51
    Reputations:
    116
    $str = "
    1. Название и версию браузера.
    2. Включены ли coolie и javascript.
    3. Наличие и версию Flash плеера.
    4. Язык браузера.
    5. Текущий размер окна браузера.
    6. Строку User-agent.
    7. Список установленных плагинов.
    8. Разрешение экрана
    9. Список можно дополнить
    ";
    echo md5($str); // уникальный отпечаток браузера
     
    dondy likes this.
  4. dondy

    dondy Member

    Joined:
    5 Jun 2015
    Messages:
    560
    Likes Received:
    61
    Reputations:
    5
    сделала вот так

    PHP:
    <?php
    $headers 
    apache_request_headers();

    foreach (
    $headers as $header => $value) {
        
    $result "$header$value <br>\r\n";
        echo 
    $result.'<br>';
     
    }
    echo 
    sha1($result);
    ?>
    непонял как можно javascript параметры подтянуть в php скрипты, это реально ?
     
  5. ocheretko

    ocheretko Banned

    Joined:
    15 May 2010
    Messages:
    144
    Likes Received:
    51
    Reputations:
    116
    Да, но нужно дважды перезагрузить страницу. Например, если отсутствует $_GET['screen_size'], отобразить ява скрипт, который его определит и сделает редирект: page.php?screen_size=1800x600. Или записать инфу в куки, и сделать релоад страницы с помощью ява скрипта. Если кука есть - релоад больше не делать
     
    dondy likes this.
  6. TANZWUT

    TANZWUT Крёстный отец :)

    Joined:
    22 Jun 2005
    Messages:
    1,474
    Likes Received:
    716
    Reputations:
    744
    dondy, советую подсмотреть реализацию на чатах august - там как раз именно это сделано при открытии страницы, советую перехватить пакеты.
    Я бы "Гость" оставил как есть - пусть смотрит, а пользовательские данные отсылал при логине юзая <input type=hidden name='$name' value='$value'> либо JS и заносил в базу логи входа.
     
    _________________________
    dondy likes this.
  7. crystalbit

    crystalbit Elder - Старейшина

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    88
    Reputations:
    8
    Или аяксом (или даже фрейм скрытый с адресом, в котором параметры с помощью js формируются) отправить на другой скрипт, а основным синхронно ждать.
    Будет задержка на аякс-запрос и ожидание записи инфы + надо реализовать таймаут, чтобы не зависать, когда запрос не сработал, но зато ничего перезагружать не надо.
     
    dondy likes this.
  8. dondy

    dondy Member

    Joined:
    5 Jun 2015
    Messages:
    560
    Likes Received:
    61
    Reputations:
    5
    TANZWUT, а какие пакеты возможно перехватить и это только с js сделать можно на одном php не сделать?
     
  9. TANZWUT

    TANZWUT Крёстный отец :)

    Joined:
    22 Jun 2005
    Messages:
    1,474
    Likes Received:
    716
    Reputations:
    744
    crystalbit, а скорость работы/выполнения не важна? включая ожидание получения данных, и зачем на другой скрипт? - всё можно и в одном реализовать с сессиями, стартуем и проверяя сессию записываем/добавляем данные.
    dondy
    , а что мешает совместить php+js примерной конструкции:
    Code:
    <? phpcode(); ?>
    <html>
    jscode();
    <? phpcode(); ?>
    </html>
    
    К примеру в чате этом использвуется _chat.august4u.net/js/august.js, перехватываем запросы при открытии сайта через charles, внимание на function august_get_id (), которая отсылает:
    Code:
    Пример параметров с портативного хрома:
    cid=&ci=Widevine Content Decryption Module:Enables Widevine licenses for playback of HTML audio/video content. (version: 1.4.8.823):widevinecdmadapter.dll::application/x-ppapi-widevine-cdm:Widevine Content Decryption Module::1|Shockwave Flash:Shockwave Flash 18.0 r0:pepflashplayer.dll::application/x-shockwave-flash:Shockwave Flash:swf:1::application/futuresplash:Shockwave Flash:spl:1|Chrome PDF Viewer::mhjfbmdgcfjbbpaeojofohoefgiehjai::application/pdf:::1|Chrome Remote Desktop Viewer:This plugin allows you to securely access other computers that have been shared with you. To use this plugin you must first install the <a href="https://chrome.google.com/remotedesktop">Chrome Remote Desktop</a> webapp.:internal-remoting-viewer::application/vnd.chromium.remoting-viewer:::1|Native Client::internal-nacl-plugin::application/x-nacl:Native Client Executable::1::application/x-pnacl:Portable Native Client Executable::1|Chrome PDF Viewer:Portable Document Format:internal-pdf-viewer::application/x-google-chrome-pdf:Portable Document Format:pdf:1|&ci2=|Win32||ru|true|true|true|1680|1050|1618|1050|24|-180&ua=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36&design=bora&room=2&ref=0
    
    обращаем внимание на ci и ci2. (смотрю скрипт за последние 9 лет переписан, так что скину код старого 2006-го года).
    Сорцы старой версии (частично):
    http://rghost.ru/8TvrJC2yc
    (UPD:пасс - мой ник)

    Надеюсь будет понятен уклон на реализацию.
    И ещё, цитирую "ip одинаковые так как в одной сети они" - если в локальной корпоративки/прова и сервер там же, то реализация простая.
     
    _________________________
    #9 TANZWUT, 25 Aug 2015
    Last edited: 25 Aug 2015
    dondy likes this.
  10. crystalbit

    crystalbit Elder - Старейшина

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    88
    Reputations:
    8
    один и тот же скрипт это частный случай разных скриптов, ну в данном случае) про скорость я оговорку написал же, тут не спорю