如何在不强制注册的情况下跟踪我的应用用户?

时间:2010-11-03 03:40:28

标签: asp.net-mvc security cookies login

使用Cookie跟踪用户而不强制他们注册的最常见策略是什么?

我是否要创建来宾帐户,分配GUID,然后将该GUID值放入其Cookie中?是否有更普遍接受的方法?

虽然这是一般的网络应用程序问题,但我正在使用ASP.NET MVC。

2 个答案:

答案 0 :(得分:2)

在您编写时,一种流行的解决方案是将GUID发送给Cookie中的用户。 很明显,只有当用户启用了cookie时,此解决方案才有效。

请注意,收到cookie的用户可以完全阅读Cookie的内容。

此外,会话是存储临时数据的好地方。 它的持续时间取决于您站点的配置,如果需要,只需要一点工作,它就非常耐用,对服务器内存的影响很小(数据库中的会话)

答案 1 :(得分:0)

Cookie中的guid是一种做法。

如果用户没有启用cookie,我想你可以采用另一种方式,包括创建小哈希(比如bit.ly,j.mp等)并将它们插入到url中。您的所有路径都将使用此哈希填充(在请求开始时创建,或者如果已经有,则从URL中获取)。

这并不是最干净的方法,但它解决了用户没有启用cookie并在网址中插入一个非常小的字符串的情况。

例如http://example.com/fG3Er/Home/Indexhttp://example.com/Home/Index?guestId=fG3Er,其中fG3Er是唯一的访客ID。

或者,您可以将它作为查询字符串附加到每个URL的末尾。

无论哪种方式,我绝对赞成基于guid的方法,如果用户不想在您的网站上使用cookie,您可以随时向他们解释他们的体验会受到损害。您可以通过创建测试用户,并将其与实际点击次数进行比较,确定您的用户中有多少用户禁用了Cookie(除非Google Analytics有办法确定启用了Cookie,但不确定)。