我发现很难获得由evercookie设置的cookie的值。
我想要做的只是检查是否设置了带有名称的evercookie。如果它没有被设置,那么我想将它设置为一个序号。
如下所示: var cookie_value = get_cookie_value;如果(cookie_value ==未定义)将coookie设置为"12345“,否则希望在php代码中使用它。
下面是来自http://samy.pl/evercookie/的Eveercoohie用法代码
var ec = new evercookie();
// set a cookie "id" to "12345"
// usage: ec.set(key, value)
ec.set("id", "12345");
// retrieve a cookie called "id" (simply)
ec.get("id", function(value) { alert("Cookie value is " + value) });
// or use a more advanced callback function for getting our cookie
// the cookie value is the first param
// an object containing the different storage methods
// and returned cookie values is the second parameter
function getCookie(best_candidate, all_candidates)
{
alert("The retrieved cookie is: " + best_candidate + "\n" +
"You can see what each storage mechanism returned " +
"by looping through the all_candidates object.");
for (var item in all_candidates)
document.write("Storage mechanism " + item +
" returned " + all_candidates[item] + " votes<br>");
}
ec.get("id", getCookie);
// we look for "candidates" based off the number of "cookies" that
// come back matching since it's possible for mismatching cookies.
// the best candidate is very-very-likely the correct one发布于 2011-07-07 13:59:33
在本例中,cookie的名称是'id',所以下面是如何在PHP中检查它的:
<?php
if (isset($_COOKIES['id'])) {
//... cookie was set
} else {
//... no cookie was set
setcookie('id',$somenumber) ;
}
?>不幸的是,这只会设置主要的HTTP cookie,而不是所有其他的evercookie元素。然而,在下一次刷新时,evercookie代码应该检测到它的一个元素包含一个值,并将所有其他元素设置为该相同的值。
https://stackoverflow.com/questions/6606334
复制相似问题