2012-12-09 25 views
0

當用戶訪問我的網站時,如果他已經來了,沒有用戶登錄,有什麼方法可以知道嗎? 我並不需要它非常準確,但要實現起來很簡單,而且在大多數情況下都能正常工作。 我想到了使用IP地址+ useragent組合。你怎麼看待這件事 ?簡單的方法來檢查未登錄的訪問者的唯一性

回答

1

設置每個用戶在您的網站訪問一個cookie,如果客戶有餅乾就意味着他已經訪問了您的網站否則他has'nt也可能被IP

快速腳本中使用也查餅乾:

if(isset($_COOKIE["user_visited"])) 
{ 
    //He has already visited you. 
}else{ 
    //Set a new cookie. 
    setcookie("user_visited","user"); 
} 

IP方法

//Need to create a user_ip table for it and store everybodies ip(s) in it. 
$user_ip = $_SERVER["REMOTE_ADDR"]; 
if(isset($user_ip)){ 
    $query = mysql_query("SELECT * FROM `user_ip` WHERE `ip`='$user_ip'"); 
    $count = mysql_num_rows($query); 
    if($count > 0){ 
     //User already visited you 
    }else{ 
     //He hasn't visited you. 
     //Save his IP to know if he visit again. 
     $query("INSERT INTO `user_ip` VALUES('$user_ip')"); 
    } 
} 
4

當然,這是什麼cookie的存在。 Cookie獨立於身份驗證。首次訪問頁面時,只需保存一個cookie。每當請求附帶一個已經存在的cookie時,您可以確定這不是第一次訪問。

但請注意,Cookie可以被客戶刪除或拒絕。許多客戶也會將cookie作爲會話cookie自動處理,因此在瀏覽器關閉的時候cookie會自動刪除。

1

最簡單的方法是用餅乾吧。只需像這樣添加餅乾:

if (!isset($_COOKIE['visited']) { 
    // user is newbie 
    setcookie("visited", '1', time() + 365 * 3600); // set cookie for 1 year 
} else { 
    // user has already visited your site 
} 
相關問題