有没有办法知道,当用户访问我的网站时,如果他已经来了,而无需用户登录?我不需要它非常准确,但要在大多数情况下易于实现和工作。我想到了使用 IP 地址+用户代理组合。你怎么看待这件事 ?
问问题
139 次
3 回答
4
当然,这就是 cookie 的用途。Cookie 独立于身份验证。只需在首次访问您的页面时存储一个 cookie。每当一个请求带有一个已经存在的 cookie 时,您可以确定这不是第一次访问。
但是请注意,客户端可以删除或拒绝 cookie。此外,许多客户端会自动将 cookie 视为会话 cookie,因此在关闭浏览器时会自动删除 cookie。
于 2012-12-09T11:52:20.397 回答
1
在每个用户访问您的网站时设置一个 cookie,如果客户有该 cookie,则表示他已经访问过您的网站,否则他没有,或者也可以通过 IP 进行检查
使用 Cookie 的快速脚本:
if(isset($_COOKIE["user_visited"]))
{
//He has already visited you.
}else{
//Set a new cookie.
setcookie("user_visited","user");
}
知识产权法
//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')");
}
}
于 2012-12-09T11:52:58.820 回答
1
最简单的方法是使用 cookie。只需像这样添加cookie:
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
}
于 2012-12-09T11:54:53.970 回答