Делаем скрипт перехода по ссылкам (Рейтинг: +7)
Делаем скрипт перехода по ссылкам
Итак наша задача записать все данные пользователя который переходит по ссылке через определённый скрипт.
Он будет сохранять IP,браузер,реферер,дату перехода в определённый файл и вывести все переходы на странице
.
Создадим файл away.php - это будет файл который сохранит данные:
Создадим файл table.php - вывод данных из logs.txt
Спасибо за внимание.
Автор: Егор Смоляков
Добавил: iNeeXT
11.03.2011 / 21:47Итак наша задача записать все данные пользователя который переходит по ссылке через определённый скрипт.
Он будет сохранять IP,браузер,реферер,дату перехода в определённый файл и вывести все переходы на странице

Создадим файл away.php - это будет файл который сохранит данные:
<?php $away_get = isset($_GET['to']) ? htmlspecialchars($_GET['to']) : 'http://google.com'; // обработка переменной if(isset($_GET['to'])){ if(preg_match('~(http://(www.)?[0-9a-z\.\-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\-\~&;_=%:#\+]*)~', $away_get)) //Проверяем параметры на правильность { $ip = htmlspecialchars($_SERVER['REMOTE_ADDR']); // IP $agent = htmlspecialchars($_SERVER['HTTP_USER_AGENT']); // Браузер $ref = htmlspecialchars($_SERVER['HTTP_REFERER']); // Реферер $date = date('j M Y в H:i:s'); // Дата $file = fopen("logs.txt","a+"); //открываем файл для записи fputs ($file, "$ip|$agent|$date|$ref|$away_get\n"); //записуем данные fclose ($file); //закрываем файл header('Location: '.$away_get); //Перебрасываем пользователя по указаному адресу } else { exit('Ошибка параметра <i>$_GET["to"]</i>'); // выводим ошибку } } else { exit('Не передан параметр <i>$_GET["to"]</i>'); // выводим ошибку } ?>
Создадим файл table.php - вывод данных из logs.txt
<html><body> <style> .tab { border: #ccc 1px solid; border-collapse: collapse; empty-cells: show; } .tab td { border: #ccc 1px solid; padding: 5px; } </style> <h3>Посещения по ссылкам</h3> <table class="tab"><tr><td>IP</td><td>Браузер</td><td>Дата</td><td>Реферер</td><td>Cсылка</td></tr><tr> <? ini_set("max_execution_time",0); $file=@file("logs.txt"); for ($i=0; $i<count($file); $i++) { $tt=$file[$i]; list($ip,$agent,$date,$ref,$url)=explode("|",trim($tt)); echo '<td>'.$ip.'</td><td>'.$agent.'</td><td>'.$date.'</td><td>'.$ref.'</td><td>'.$url.'</td></tr>'; } ?> </table> </body></html>
Спасибо за внимание.
Автор: Егор Смоляков
Рейтинг:
+7
Просмотры: 3227Комментарии (13) »