在ASP.NET中识别返回的访问者

本文关键字:返回 访问者 识别 ASP NET | 更新日期: 2023-09-27 18:25:13

如果一个网站上的匿名用户在某个时间段内多次返回(比如说一周三次),那么我需要建议用户登录/注册该网站。

我想把这些信息保存在cookie中,但有更好的方法吗?或者在.NET或第三方库中以标准化的方式构建?

在ASP.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路由,绝对不要选择非跨浏览器的选项。

希望这能有所帮助。