Login
Скрипт для определения IP
NEW 27.11.09 16:37
В двух словах:хочу сделать, чтобы чел, кликнув на ссылку типа
<a href="http://my_site.com/index.php">http://site.com</a> попадал бы сначала на мой сайт -
http://my_site.com/index.php ,
после прохождения кода в index.php был бы редирект на страницу, куда он хотел - http://site.com
Сам код должен исполнить одну единственную функцию - получить IP кликнувших на данную ссылку и записать эти IP-шники скажем в простой текстовый файл, лежащий тут же.
Может, есть уже такое готовое решение, в принципе, не обязательно PHP, важно, чтобы сработало..
Или может еще как-то проще можно, может, я чересчур усложнил задачу?
<a href="http://my_site.com/index.php">http://site.com</a> попадал бы сначала на мой сайт -
http://my_site.com/index.php ,
после прохождения кода в index.php был бы редирект на страницу, куда он хотел - http://site.com
Сам код должен исполнить одну единственную функцию - получить IP кликнувших на данную ссылку и записать эти IP-шники скажем в простой текстовый файл, лежащий тут же.
Может, есть уже такое готовое решение, в принципе, не обязательно PHP, важно, чтобы сработало..
Или может еще как-то проще можно, может, я чересчур усложнил задачу?
27.11.09 17:22
in Antwort alexnaum 27.11.09 16:37, Zuletzt geändert 27.11.09 17:23 (Валидол)
тут почитай
http://ru2.php.net/manual/de/reserved.variables.server.php
http://ru2.php.net/manual/de/reserved.variables.server.php
В ответ на:
'REMOTE_ADDR'
Die IP-Adresse, von der aus der Benutzer die aktuelle Seite ansieht.
'REMOTE_ADDR'
Die IP-Adresse, von der aus der Benutzer die aktuelle Seite ansieht.
NEW 27.11.09 18:39
in Antwort Валидол 27.11.09 17:22
спасибо, вот так примерно получилось
ссылка же, на которую "жертва" должна кликнуть,будет выглядеть так:
<a href="http://my_site.com/index.php?go=http://site.com">http://site.com</a>
В ответ на:
<?php
$link = $_GET['go'];
if(!empty($link)){
$file=file_get_contents("ip.txt");
$ip=$_SERVER['REMOTE_ADDR']."\n";
$ip .=$file."\n".$ip;
$fd = fopen('ip.txt','a');
fwrite($fd,$ip);
fclose($fd);
sleep(3);//задержка в 3 сек
header("Location: $link"); EXIT();}
?>
<?php
$link = $_GET['go'];
if(!empty($link)){
$file=file_get_contents("ip.txt");
$ip=$_SERVER['REMOTE_ADDR']."\n";
$ip .=$file."\n".$ip;
$fd = fopen('ip.txt','a');
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>
NEW 27.11.09 19:56
in Antwort alexnaum 27.11.09 18:39
Ваш код взрывает мой мозг...
для чего нужны строки:
$file=file_get_contents("ip.txt");
$ip .=$file."\n".$ip;
?
для чего нужны строки:
$file=file_get_contents("ip.txt");
$ip .=$file."\n".$ip;
?
NEW 27.11.09 20:10
ну ты как ребёнок,
для определения есть ли уже на харде битые сектора или ещё нету
in Antwort GANDJUBAS 27.11.09 19:56
В ответ на:
для чего нужны строки...:
для чего нужны строки...:
ну ты как ребёнок,
для определения есть ли уже на харде битые сектора или ещё нету
NEW 27.11.09 20:19
in Antwort katran76 27.11.09 20:10
NEW 28.11.09 09:29
in Antwort GANDJUBAS 27.11.09 19:56
Ну можно было догадаться, что это не мой код.
старый я уже для того, чтобы код писать..почитать могу..спросил просто в разных местах, вот в одном человек показал примерно так, в другом - рабочая часть покороче -
Что откуда растет, я понимаю, но в данном конкретном случае мне по большому чету все равно, строчкой больше - меньше, лишь бы работало.Тут же не 100000 строк, чтобы переживать об этом...
старый я уже для того, чтобы код писать..почитать могу..спросил просто в разных местах, вот в одном человек показал примерно так, в другом - рабочая часть покороче -
В ответ на:
<?php
$file = fopen('log.txt', 'a');
fwrite($file, $_SERVER['REMOTE_ADDR']."\r\n");
fclose($file);
?>
<?php
$file = fopen('log.txt', 'a');
fwrite($file, $_SERVER['REMOTE_ADDR']."\r\n");
fclose($file);
?>
Что откуда растет, я понимаю, но в данном конкретном случае мне по большому чету все равно, строчкой больше - меньше, лишь бы работало.Тут же не 100000 строк, чтобы переживать об этом...
NEW 28.11.09 12:38
in Antwort alexnaum 28.11.09 09:29
Тут же не 100000 строк, чтобы переживать об этом...
------
Нее, не 100К... Только вот какая штука - при определенных условиях в файле будет мешанина... уже при двух клиентах.
Кроме того, ось, обычно, имеет ограничение на количество одновременно открытых файлов... и количество это весьма небольшое. 1000 одновременных клиентов просто положит сервер.
Кроме того, операция открытия файла - процесс весьма медленный. Я бы посмотрел на предмет следующего - на уровне апликации предусмотрел стек для складирования айпишек и там же срасывал его в файл... не закрывая оный...
------
Нее, не 100К... Только вот какая штука - при определенных условиях в файле будет мешанина... уже при двух клиентах.
Кроме того, ось, обычно, имеет ограничение на количество одновременно открытых файлов... и количество это весьма небольшое. 1000 одновременных клиентов просто положит сервер.
Кроме того, операция открытия файла - процесс весьма медленный. Я бы посмотрел на предмет следующего - на уровне апликации предусмотрел стек для складирования айпишек и там же срасывал его в файл... не закрывая оный...
NEW 28.11.09 14:08
in Antwort Murr 28.11.09 12:38
Кроме того, ось, обычно, имеет ограничение на количество одновременно открытых файлов... и количество это весьма небольшое. 1000 одновременных клиентов просто положит сервер.
Я понимаю. Речь идет о конкретной, узкой, описанной в 1 посте задаче:ссылка предназначена для одного конкретного,довольно осторожного и одержимого, но не очень умного неизвестного мне маньяка, с целью выявить его айпишник, и только его. Причем выяснить это надо на ресурсе, мне не принадлежащем: на мой ресурс он не пойдет, а на заманчивую ссылку кликнет, я думаю, с вероятностью близкой к 1. Есть, конечно, возможность, что я узнаю только прокси, но, судя по уровню айкью, клиент таких слов не знает.
После решения задачи- в любом случае, скрипт будет снесен, ну или ждать следующего клиента.
Конечно, для серьезных задач и решения были бы более серьезные, наверное, было бы разумнее не в файле,а в БД хранить информацию, но тут я думаю и так сойдет
Я понимаю. Речь идет о конкретной, узкой, описанной в 1 посте задаче:ссылка предназначена для одного конкретного,довольно осторожного и одержимого, но не очень умного неизвестного мне маньяка, с целью выявить его айпишник, и только его. Причем выяснить это надо на ресурсе, мне не принадлежащем: на мой ресурс он не пойдет, а на заманчивую ссылку кликнет, я думаю, с вероятностью близкой к 1. Есть, конечно, возможность, что я узнаю только прокси, но, судя по уровню айкью, клиент таких слов не знает.
После решения задачи- в любом случае, скрипт будет снесен, ну или ждать следующего клиента.
Конечно, для серьезных задач и решения были бы более серьезные, наверное, было бы разумнее не в файле,а в БД хранить информацию, но тут я думаю и так сойдет

NEW 28.11.09 16:17
а что пыхыпы уже такое умеет? Если я правильно помню там просто нет уровня приложения - запрос пришёл, скрипт запустился, ответ сгенерил и закончился.
in Antwort Murr 28.11.09 12:38
В ответ на:
на уровне апликации предусмотрел стек для складирования айпишек и там же срасывал его в файл... не закрывая оный...
на уровне апликации предусмотрел стек для складирования айпишек и там же срасывал его в файл... не закрывая оный...
а что пыхыпы уже такое умеет? Если я правильно помню там просто нет уровня приложения - запрос пришёл, скрипт запустился, ответ сгенерил и закончился.
NEW 28.11.09 16:25
in Antwort katran76 28.11.09 16:17
не обращай внимания... обычный околотемный пост от мурки, как пишут "отцы"...
NEW 29.11.09 04:06
in Antwort katran76 28.11.09 16:17
а что пыхыпы уже такое умеет?
------
А фиг его знает - РНР Я не смотрел и не планирую. Об этом говорил не раз.
И если аппликатиона лаера там нету - делаю совершенно правильно.
и закончился
-----
Сессия должна была остаться. Ну а там, где есть сессии - есть и место их
хранения. Какова функциональность того места и можно ли туда достучаться
- не ведаю...
------
А фиг его знает - РНР Я не смотрел и не планирую. Об этом говорил не раз.
И если аппликатиона лаера там нету - делаю совершенно правильно.

и закончился
-----
Сессия должна была остаться. Ну а там, где есть сессии - есть и место их
хранения. Какова функциональность того места и можно ли туда достучаться
- не ведаю...

NEW 29.11.09 10:14
Нет не умеет, и думаю не будет уметь.
То alexnaum
Что же касается самого вопроса и альтернативы стека для складывания айпишек, то это мускул. С обычным файлом, как уже написал(а) ;) Murr, при большом запросе сервер повиснит, да и процедуры записи в файл не могут происходить одновременно, что вызовет ошибку, если хотя бы пара юзверей совершенно одновременно дадут запрос на запись.
Поэтому единственный выход, это создать таблицу айпишек в базе, и уже в базу всё складировать. Во первых такой вариант не даст большой нагрузки на сервер, и не создаст проблем с одновременной записью. Ну и второе, сами данные будет проще из базы обрабатывать, чем из текстового файла.
В этом можешь не сомневаться, сам через подобное прошёл. Тоже одно время думал заменить базу данных текстовыми файлами, но столкнулся с разными проблемами, которые просто перечеркнули все казавшиеся явные преимущества. На первых порах, пока сайт будет мало посещаем, такой вариант прокатит, но потом может возникнуть большая головная боль, так что лучше сразу делать правильно.
in Antwort Murr 29.11.09 04:08
В ответ на:
а что пыхыпы уже такое умеет?
а что пыхыпы уже такое умеет?
В ответ на:
А фиг его знает - РНР Я не смотрел и не планирую.
А фиг его знает - РНР Я не смотрел и не планирую.
Нет не умеет, и думаю не будет уметь.
То alexnaum
Что же касается самого вопроса и альтернативы стека для складывания айпишек, то это мускул. С обычным файлом, как уже написал(а) ;) Murr, при большом запросе сервер повиснит, да и процедуры записи в файл не могут происходить одновременно, что вызовет ошибку, если хотя бы пара юзверей совершенно одновременно дадут запрос на запись.
Поэтому единственный выход, это создать таблицу айпишек в базе, и уже в базу всё складировать. Во первых такой вариант не даст большой нагрузки на сервер, и не создаст проблем с одновременной записью. Ну и второе, сами данные будет проще из базы обрабатывать, чем из текстового файла.
В этом можешь не сомневаться, сам через подобное прошёл. Тоже одно время думал заменить базу данных текстовыми файлами, но столкнулся с разными проблемами, которые просто перечеркнули все казавшиеся явные преимущества. На первых порах, пока сайт будет мало посещаем, такой вариант прокатит, но потом может возникнуть большая головная боль, так что лучше сразу делать правильно.
NEW 29.11.09 12:56
in Antwort Sergo2008 29.11.09 10:14
Если с умом подойти к вопросу, то такого рода лог вообще не нужен.
Все это прекрасно записывает апач...
Все это прекрасно записывает апач...
NEW 29.11.09 14:26
in Antwort GANDJUBAS 29.11.09 12:56
а мне казалось, что у всех хостеров имеется раздел Статистика, где можно много интересного посмотреть
Żywie Biełarus!
Belarus auf dem Weg der Veränderung "Выходи гулять" --> https://youtu.be/aOnp0kfAr80

NEW 29.11.09 16:22
in Antwort michelfrance 29.11.09 14:26
Ну а если у вас на странице 2-3 места под баннеры на которых крутятся 30-40 различных баннеров и вам нужна статистика по кликам по ним на разных страницах вашего сайта, то тут врядли помогут логи апача. У меня есть такой скрипт, но он не на PHP и врядли вам поможет.
Создание сайтов, онлайн-магазинов в Германии
NEW 29.11.09 23:34
Это почему? Если баннеры сделаны как перенаправление аля "?link=xxx", то вытащить из логов апача grep-ом нужные записи и составить по ним статистику - задача нескольких минут...
in Antwort Poiser 29.11.09 16:22
В ответ на:
то тут врядли помогут логи апача
то тут врядли помогут логи апача
Это почему? Если баннеры сделаны как перенаправление аля "?link=xxx", то вытащить из логов апача grep-ом нужные записи и составить по ним статистику - задача нескольких минут...
NEW 30.11.09 20:36
in Antwort GANDJUBAS 29.11.09 23:34
Да в принципе вы правы. Но решение не универсально, т.к. апач это частный случай. Например php отлично работает и на Windows 2008 Server ;)
Создание сайтов, онлайн-магазинов в Германии
NEW 30.11.09 21:19
IIS если уж на то пошло
поскольку апач тоже отлично работает и на Windows 2008 Server
in Antwort Poiser 30.11.09 20:36, Zuletzt geändert 30.11.09 21:20 (katran76)
В ответ на:
php отлично работает и на Windows 2008 Server ;)
php отлично работает и на Windows 2008 Server ;)
IIS если уж на то пошло

поскольку апач тоже отлично работает и на Windows 2008 Server
