«Знание — могущество».

12 мая 2009

Небольшой ява-скрипт определения IP-адреса

написал Figaroo в рубрике Web-разработка @ 00:36

Может, кому-нибудь пригодится. Определяет основной IP-адрес, IP-адреса прокси-серверов, тип и версию браузера.

Использование (вставляется в сайт в блок <head></head>):

<script type="text/javascript" src="http://figaroo.ru/tools/ip.js"></script>

Пример результата:

var f_ip = '127.0.0.1'; // основной IP-адрес
var f_ips = '127.0.0.1; XFF: 192.168.0.1'; // все IP-адреса
var f_os = 'Windows XP'; // платформа (ОС)
var f_btype = 'IE'; // тип (имя) браузера
var f_bver = '7.0'; // версия браузера

Думаю, из описания переменных всё ясно. :-)

Комментарии (8) »

  1. Читаю топ: "Небольшой ява-скрипт определения IP-адреса". Где сам скрипт определения ip на клиенте? Вижу здесь только дублирование переменных окружения сервера в переменные JS. Никакого определения из JS здесь и в помине не было.

    Комментарий by Рассошенко Д. — 25 июля 2009 @ 21:05


  2. Это имитация, ибо на чистом JS определить айпишник нельзя.

    Комментарий by Figaroo — 25 июля 2009 @ 22:46


  3. ВО! вот это суперская идея! судя по всему, Вы не выдаёте, что там в ip.js написано, примерно догадываюсь, что там что-то на php и сделать такое можно наверное с header? спасибо!

    Комментарий by baleew — 5 мая 2010 @ 14:13


  4. Там примерно следующее:

    <?php
    
    define('FIGAROO_DEBUGGING', false);
    header("Content-type: text/javascript");
    
    # тут несколько инклюдов
    
    // информация о пользователе
    $USERINFO = new FIGAROO_USERINFO('stat_kod');
    
    // запрет кэширования браузером и проксями
    header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
    header("Cache-Control: no-cache, must-revalidate");
    header("Cache-Control: post-check=0,pre-check=0");
    header("Cache-Control: max-age=0");
    header("Pragma: no-cache");
    
    ?>
    var f_ip = '<?=$USERINFO->ip?>'; // основной IP-адрес
    var f_ips = '<?=$USERINFO->ips?>'; // все IP-адреса
    var f_os = '<?=$USERINFO->os?>'; // платформа (ОС)
    var f_btype = '<?=$USERINFO->b_type?>'; // тип (имя) браузера
    var f_bver = '<?=$USERINFO->b_ver?>'; // версия браузера
    

    Комментарий by Figaroo — 5 мая 2010 @ 15:45


  5. Спасибо, я всё понял. к этому красивому набору надо еще внутренний ip прикрутить для полного счастья.

    Комментарий by baleew — 5 мая 2010 @ 20:05


  6. Прикрутить внутренний IP не получится, ибо существующая технология не позволяет. Это можно сделать другими путями, но они легко обходятся.

    Комментарий by Figaroo — 5 мая 2010 @ 21:52


  7. да? ну а, что если попросить на стороне клиента (на js соответственно) запустить java.net скажем. я даже делал когда-то такое, всё вроде простенькое. правда конечно же толку от этого не особо много, обычно все у себя ipconfig для этого юзают, но вот разве что впечатление производит, когда удаленный сервер тебе показывает твой локальный NAT'ed IP. если будет интересно, могу найти эти эксперименты. там маленькие кусочки кода на js и ещё есть вариант -- вместе с java аплетом.

    Комментарий by baleew — 5 мая 2010 @ 22:55


  8. Во-во, с java-апплетом. Про это и говорил. Люди, думающие о своей безопасности, выключают java-апплеты в браузере. =)

    Комментарий by Figaroo — 11 мая 2010 @ 21:45


RSS-лента комментариев к этой записи

Оставить комментарий

Пожалуйста, заполните все поля.

© Валерий 'Figaroo' Киркиж, 2008-2012 гг.