情况:
我正在创建某种类型的网站,让用户对帖子发表评论和喜欢。有两种类型的用户,用户名和密码(类型1)和访客(类型2)。
对于类型1,将存储数据,其中密钥是其登录凭据。通过这种方式,用户不能多次喜欢内容(下次加载页面时,他们会看到“不喜欢”按钮)
类型2,我使用IP来区分用户。但是,IP可以随时间变化(因为通常情况下,IP是动态的)。
注意:需要使用C#,ASP .Net实现。
问题:
有没有办法为客户端(PC /智能设备)生成唯一ID,所以如果你第一次使用PC查看页面上的帖子X,你喜欢它,下次(即使你关闭你的浏览器)页面可以识别您,然后将按钮更改为“不同”。
答案 0 :(得分:0)
没有可靠的方法来做到这一点。例如,如果用户在他的笔记本电脑上打开网站,然后是他的手机,那么他的平板电脑怎么办?您无法阻止每个设备注册为其他来宾。唯一的解决方案是让人们登录,只允许匿名访客进行读取访问。
答案 1 :(得分:0)
有两种处理方法。
)获取唯一设备标识符(UDID)并将其存储在您的服务器上。
B)生成通用唯一标识符(UUID)并将其存储在设备和服务器上。
使用第一种方法,您不会在设备上存储UUID,因此您既可以节省空间(数据的字节数,但仍然),用户无法在不重新安装操作系统的情况下更改ID。但是,它将高度依赖平台。
使用第二种方法,您可以使用System.Guid.newGuid()
方法并将生成的UUID保存到浏览器上的cookie中。
然后,您可以从cookie中读取数据或获取设备UDID并将其与数据库进行比较。
但是,这不会阻止用户从不同的设备访问网站。最好的方法是让用户登录(但请注意密码安全,因为人们通常在服务中使用相同的密码)。
希望我帮助过:)