我想创建一个表(postgres),用于存储有关哪些用户查看了哪些项目的数据。经过身份验证的用户没有问题,但我如何告诉其他匿名用户的匿名用户?这是分析目的所必需的。
可能将其IP地址存储为唯一ID吗?我怎么能这样做?
答案 0 :(得分:4)
我认为你应该使用cookies。
当未经过身份验证的用户发出请求时,请查找名为whatever的cookie(在本例中为“nonuserid”)。如果cookie不存在,则表示它是新用户,因此您应该使用随机ID设置cookie。如果它存在,您可以使用其中的ID来标识匿名用户。
答案 1 :(得分:1)
使用IP地址。结帐this answer。无需将IP写入会话,因为您可以在收到请求时始终获取客户端IP。
uuid
生成USER_ID
的唯一ID。并使用给定名称在会话中设置ID,假设为USER_ID
。
当您收到用户的请求时,请检查会话中的user id visit page X
是否正确。如果是,请读取它的值并将记录写入数据库,如<div ng-controller="MyCtrl">
<collapsible-div title="Open Me">
<canvas id="myCanvas"></span>
</collapsible-div>
</div>
。如果没有,请生成并设置。