Делаем скрипт перехода по ссылкам
Итак наша задача записать все данные пользователя который переходит по ссылке через определённый скрипт.
Он будет сохранять 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>
Спасибо за внимание.
Автор:
Егор Смоляков