Скрипт определения IP

Статус
В этой теме нельзя размещать новые ответы.

typus

Мой дом здесь!
Регистрация
25 Июл 2007
Сообщения
895
Реакции
241
В двух словах:хочу сделать, чтобы чел, кликнув на ссылку типа
<a href="http://my_site.com/index.php">http://site.com</a> попадал бы сначала на мой сайт -
Для просмотра ссылки Войди или Зарегистрируйся ,
после прохождения кода в index.php был бы редирект на страницу, куда он хотел - Для просмотра ссылки Войди или Зарегистрируйся
Сам код должен исполнить одну единственную функцию - получить IP кликнувших на данную ссылку и записать эти IP-шники скажем в простой текстовый файл, лежащий тут же.
Может, есть уже такое готовое решение или мне поможет какая-то предопределенная функция?
 
PHP:
<?php
$file = fopen('log.txt', 'a');
fwrite($file, $_SERVER['REMOTE_ADDR']."\r\n");
fclose($file);
?>
 
PHP:
$link = $_GET['go'];
if(!empty($link)){
$file=file_get_contents("ip.txt");
$ip=$_SERVER['REMOTE_ADDR'];
$ip .=$file."\n".$ip;
$fd = fopen("ip.txt",w);
fwrite($fd,$ip);
fclose($fd);

sleep(3);//задержка в 3 сек
header("Location: $link"); EXIT();}

<a href="http://my_site.com/index.php?go=http://site.com">http://site.com</a>
 
Спасибо,все в принципе понятно,но тока почему то не пишет в файл :confused:
ах, нет, сорри, все ок, права забыл
Еще раз спасибо, больше тут ничего не надо
 
Права на запись для файла стоят?
 
PHP:
    function getIP()
    {
        if (isset($_SERVER)) {
            if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
                $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
            } elseif (isset($_SERVER["HTTP_CLIENT_IP"])) {
                $realip = $_SERVER["HTTP_CLIENT_IP"];
            } else {
                $realip = $_SERVER["REMOTE_ADDR"];
            }
        } else {
            if (getenv("HTTP_X_FORWARDED_FOR")) {
                $realip = getenv("HTTP_X_FORWARDED_FOR");
            } elseif (getenv("HTTP_CLIENT_IP")) {
                $realip = getenv("HTTP_CLIENT_IP");
            } else {
                $realip = getenv("REMOTE_ADDR");
            }
        }
        return $realip;
    }
В файл, надеюсь, сам разберешься как записать...
 
PHP:
    function getIP()
    {
        if (isset($_SERVER)) {
            if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
                $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
            } elseif (isset($_SERVER["HTTP_CLIENT_IP"])) {
                $realip = $_SERVER["HTTP_CLIENT_IP"];
            } else {
                $realip = $_SERVER["REMOTE_ADDR"];
            }
        } else {
            if (getenv("HTTP_X_FORWARDED_FOR")) {
                $realip = getenv("HTTP_X_FORWARDED_FOR");
            } elseif (getenv("HTTP_CLIENT_IP")) {
                $realip = getenv("HTTP_CLIENT_IP");
            } else {
                $realip = getenv("REMOTE_ADDR");
            }
        }
        return $realip;
    }
В файл, надеюсь, сам разберешься как записать...

Я в $_SERVER["HTTP_X_FORWARDED_FOR"] могу записать всё что угодно. Ровно как и во все другие элементы массива $_Server, начинающиеся с HTTP.
Так что вы тут глупость сморозили. Ценность представляет лишь $_SERVER['REMOTE_ADDR'].
Если не согласны- документация вам в помощь ;)
 
Я в $_SERVER["HTTP_X_FORWARDED_FOR"] могу записать всё что угодно. Ровно как и во все другие элементы массива $_Server, начинающиеся с HTTP.
Так что вы тут глупость сморозили. Ценность представляет лишь $_SERVER['REMOTE_ADDR'].
Если не согласны- документация вам в помощь ;)
Прежде чем это писать, самому не мешало бы документацию почитать, а не обвинять в глупости людей ;)

Добавлено через 3 минуты
Понятно что можно изменить, но как быть с прокси?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху