簡體   English   中英

跟蹤IP地址

[英]Tracking an IP address

我想跟蹤博客訪問者的IP地址。 我不知道我要使用哪個博客,我將使用任何一個可以工作的博客(我聽說博客作者不適用於php)。

此外,一旦創建博客並設置IP跟蹤器,我將在哪里找到訪問者的IP地址? 提前致謝!

您可以檢查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);
  }
}

如果以后您想在博客的管理區域中使用這些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)
);

然后,當成員幾乎執行任何操作時,您可以執行一些將被調用的函數。 取決於您的需求。

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);
    }
}

我認為這兩個應該可以幫助您解決問題。 同樣,這只是恕我直言。

您可以在此站點上注冊..此站點是跟蹤ips的好工具.. http://fcounter.com

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM