繁体   English   中英

在ASP.NET中识别回访者

[英]Recognizing a returning visitor in ASP.NET

如果站点上的匿名用户在一定时间内多次返回(假设一周三次),那么我需要建议用户登录/注册该站点。

我在考虑将这些信息保存在cookie中,但是有更好的方法吗? 或者也许是在.NET或第三方库中构建的标准化方法?

对于匿名用户,唯一的方法是cookie。

您将加密的ID放入cookie并将该ID与数据库上的匿名用户连接。

例如,Google将广告Cookie设置为持续30天

http://www.google.com/privacy/ads/

Google Analytics成立长达2年

http://code.google.com/apis/analytics/docs/concepts/gaConceptsCookies.html

Google Analytics(分析)为唯一身份访问者跟踪设置了2年的到期日期。 但是,如果您的访问者删除其cookie并重新访问您的网站,则Google Analytics(分析)将为这些访问者设置新的cookie(包括新的唯一访问者cookie)。 虽然您可以使用_setSessionCookieTimeout()方法配置用户会话cookie的持续时间(默认为30分钟),但您无法配置唯一访问者cookie的持续时间。

有几种方法,但并非100%准确。 也就是说,cookie足以满足您的情况。

另一种方法是,您可以检查并存储访问者的IP地址以及UserAgent值。 这可能不完全准确,因为有时公司可能有很多内部用户,但只使用一个公共IP地址。

希望这可以帮助。 干杯。

您还可以使用Javascript和localStorage来显示信息。

if (localStorage.getItem('lastVisit')) {
    alert('You have been here before!');
} else {
    localStorage.setItem('lastVisit', new Date());
}

简而言之,只需使用Cookie,此方法就不会有任何问题。 此外,这允许用户从他们的系统中清除这些信息,并且是来自最终用户的网站的预期行为,因此它是良好的做法。

同样,“访问者”通常被定义为来自唯一地址(例如IP地址)的访问。 因此,您需要检查IP以将其视为同一访问者。 如果他们从其他IP访问该网站,则将其视为第二访问者,这也是预期的行为。 您可以在这里稍微进一步,并检查浏览器并考虑单独的访问者,或通过所有Web浏览器可用的其他特定信息。

结论,只需使用cookie和IP地址,尽量不要过度复杂化,如果你没有使用cookie / IP路由,绝对不要选择不是跨浏览器的选项。

希望这有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM