Отслеживание IP-адреса - PullRequest
0 голосов
/ 25 июня 2010

Я хочу отслеживать IP-адреса посетителей моего блога.Я не знаю, какой блог я собираюсь использовать, я буду использовать тот, который будет работать (я слышал, блоггер не работает с php).

Кроме того, как только я сделаю блог и настроюIP-трекер, куда я пойду, чтобы найти IP-адреса моих посетителей?Заранее спасибо!

Ответы [ 3 ]

1 голос
/ 25 июня 2010

Вы можете проверить журнал доступа вашего http-сервера. Это должно дать вам список клиентских запросов.

Если вы ищете решение php, вы можете использовать следующее, чтобы получить IP-адрес клиента:

 $_SERVER['REMOTE_ADDR'];

Вам понадобится написать скрипт быстрой регистрации для хранения этих

$logFile = 'iplog.log';
if(!file_exists($logFile)) touch($logFile);
if(is_writable($logFile)) {
  $fh = fopen($logFile, 'a');
  if($fh) {
    $line = $_SERVER['REMOTE_ADDR']."\n";
    fwrite($fh, $line, strlen($line));
    fclose($fh);
  }
}
0 голосов
/ 25 июня 2010

вы можете зарегистрироваться на этом сайте .. на этом сайте хорошие инструменты для отслеживания ips .. http://fcounter.com

0 голосов
/ 25 июня 2010

Если в дальнейшем вы захотите использовать эти IP-адреса, например, в административной области вашего блога, то ИМХО лучше хранить их в базе данных.Позже вы можете их кешировать, но это необязательно.

В WordPress (что, кстати, очень гибкая система блогов) таблицы по умолчанию имеют префикс wp_.Таким образом, вы можете сделать что-то подобное.

CREATE TABLE IF NOT EXISTS wp_ip_tracking (
    id INT NOT NULL AUTO_INCREMENT,
    ip VARCHAR(15) NOT NULL,
    last_activity TIMESTAMP NOT NULL,
    PRIMARY KEY(id),
    UNIQUE(ip)
);

Тогда вы можете сделать некоторую функцию, которая будет вызываться, когда member делает почти все что угодно.Зависит от того, что вам нужно.

function trackIP($ip) {
    // Check if IP exists
    $query1 = "SELECT id FROM wp_ip_tracking WHERE ip = '{$ip}'";
    // Insert new record with given IP
    $query2 = "INSERT INTO wp_ip_tracking(id, ip, last_activity) VALUES(NULL, '{$ip}', NOW())";
    // Update record for specified IP
    $query3 = "UPDATE wp_ip_tracking SET last_activity = NOW() WHERE ip = '{$ip}'";

    if(mysql_num_rows(mysql_query($query1)) == 0) {
        mysql_query($query2);
    } else {
        mysql_query($query3);
    }
}

Я думаю, что эти двое должны помочь вам с вашей проблемой.Опять это только ИМХО.

...