在ASP.NET中识别返回的访问者
本文关键字:返回 访问者 识别 ASP NET | 更新日期: 2023-09-27 18:25:13
如果一个网站上的匿名用户在某个时间段内多次返回(比如说一周三次),那么我需要建议用户登录/注册该网站。
我想把这些信息保存在cookie中,但有更好的方法吗?或者在.NET或第三方库中以标准化的方式构建?
对于匿名用户,唯一的方法是cookie
您将加密的ID放入cookie,并将该ID与数据库上的匿名用户连接。
谷歌将广告cookie设置为持续30天,例如
http://www.google.com/privacy/ads/
谷歌分析设置长达2年
http://code.google.com/apis/analytics/docs/concepts/gaConceptsCookies.html
Google Analytics为唯一访问者设置了2年的有效期跟踪。但是,如果您的访问者删除了他们的cookie并重新访问您的网站,然后Google Analytics将设置新的cookie(包括新的独特的访问者cookie)。当您可以配置用户会话cookie的持续时间(从默认的30分钟开始)使用_setSessionCookieTimeout()方法,无法配置唯一访问者cookie的持续时间。
有几种方法,但它们并非100%准确。也就是说,一块饼干就足够了。
另一种方法是,您可以检查并存储访问者的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访问网站,这将被视为第二个访问者,这也是预期行为。不过,你可以在这里更进一步,检查浏览器,并考虑一个单独的访问者,或所有网络浏览器都可以获得的其他特定信息。
最后,只需使用cookie和IP地址,尽量不要使其过于复杂,如果你不使用cookie/IP路由,绝对不要选择非跨浏览器的选项。
希望这能有所帮助。