我想設置一條介紹性消息以向所有新用戶展示。它應該以某種方式存儲他們的信息(cookie?IP地址?),以便他們(理想情況下)永遠不會再看到該消息。我知道這可以用cookie,但是最可靠的方法是什麼?可靠地檢測網站的新訪問者
謝謝!
我想設置一條介紹性消息以向所有新用戶展示。它應該以某種方式存儲他們的信息(cookie?IP地址?),以便他們(理想情況下)永遠不會再看到該消息。我知道這可以用cookie,但是最可靠的方法是什麼?可靠地檢測網站的新訪問者
謝謝!
要做到這一點可靠,你需要使用服務器端腳本。 JavaScript可以被禁用,因此不再可靠。
PHP是簡單的 - 你可以讀取用戶的IP地址和用戶代理(UA)與
<?php
$IP = $_SERVER['REMOTE_ADDR'];
$UA = $_SERVER['HTTP_USER_AGENT'];
?>
存儲該信息到數據庫中,你可以跟蹤用戶。把它與一個cookie結合起來(但是,這可以被用戶刪除),並且你有一個非常好的跟蹤解決方案。
<?php
// Set a cookie
$userID = 'something';
setcookie('UID', $userID);
// Read a cookie
echo($_COOKIE['uid']);
?>
對Cookie的信息上http://php.net/manual/en/function.setcookie.php看看。
我會說cookie(如果你喜歡,使用LocalStorage)比這更可靠,因爲很多情況下用戶的IP地址會定期改變(即使每個請求發生在某些代理上),或者可能有1000一個IP地址後面的用戶。每臺計算機(實際上都是瀏覽器)都有Cookie,雖然它們可以被禁用,但檢查禁用的Cookie並不顯示彈出窗口是很簡單的,如果是的話。 – Stecman
這是真的。我想它確實歸結爲個人偏好。我使用用戶存儲在cookie中的密鑰將會話存儲在數據庫中。數據庫鎖定該密鑰只能與發起會話的用戶的IP一起工作,除非用戶將其指定爲持久登錄。這似乎解決了改變IP的問題(移動設備非常實際的問題) – cstrat
另一件事 - 本地存儲並不總是可用於用戶瀏覽器。安全策略和舊版瀏覽器可能會造成問題。 – cstrat
不要想太多。只需使用cookie。如果用戶定期刪除自己的Cookie,他們很可能會了解重複查看此類彈出窗口的後果。 – Chris