在不使用cookie的情况下检测网站的新访问者

时间:2011-03-11 13:36:47

标签: c# asp.net authentication cookies

我们希望创建一个网站,向网站的所有新访问者显示信息,即欢迎,请阅读我们的帮助指南等。

最大的问题是我们的网站不允许使用持久的cookie(即超过20分钟)。有没有人知道我们能否确定用户之前是否访问过该网站。作为另一个限制,我们不能在系统中添加任何形式的注册。

该应用程序正在ASP.Net 3.5中创建。

感谢您的帮助

6 个答案:

答案 0 :(得分:5)

EFF有一个工具/网站,您可以访问该工具/网站,显示插件,操作系统详细信息,浏览器详细信息等的方式,您可以相当独特地确定访问。它可以提供一些有关存储在数据库中的细节的见解,以确定用户之前是否曾在那里:

https://panopticlick.eff.org/

您可以尝试使用IP地址,但是使用NAT并且大多数ISP都会分发动态IP地址,您永远不会真正知道访问过的用户是否曾经在那里或者没有任何确定性。< / p>

答案 1 :(得分:1)

如果您无法在客户端存储信息,除了保存IP并进行比较之外,这是不可能的,这也不是很准确。

答案 2 :(得分:1)

  

是否有人知道我们可以确定用户之前是否访问过该网站。

不,你不能。由于您无法使用cookie,所以您拥有的是客户端默认发送的内容:IP地址,用户代理信息。由于目前的IPv4耗尽和NAT设备的普及,IP只是有用的。

答案 3 :(得分:0)

关于唯一的方法是捕获Web浏览器的IP地址并将其用作唯一ID - 假设它确实是唯一的。

答案 4 :(得分:0)

您不能依赖IP,因为它可以被许多用户共享,或者为一个用户进行更改。

如果您无法在客户端存储cookie,则无法进行。

你也可以问他:“你过去曾经去过这个网站了吗?”,但我怀疑这是不错的做法:D

答案 5 :(得分:0)

在Session中存储类似“AlreadyVisited”的布尔值。因此,每当用户第一次访问该页面时,他都会看到您的欢迎信息。

显示后,将布尔值设置为false(您需要将其存储在会话中)