如何在不创建用户帐户的情况下,允许每人(电脑/手机)在网站上的1篇帖子上只投1票

How to allow only 1 vote per person(computer/mobile) on 1 post at website without making user accounts ?

本文关键字:1篇 手机 网站 用户 创建 情况下 许每人 电脑      更新时间:2023-09-26

在学习Meteor框架的过程中,我正在将Yik Yak移动应用程序重新创建为web应用程序。但该应用程序是完全匿名的,没有用户帐户,但你仍然可以只投一次赞成票或反对票。如何做到这一点?

您想要的可能不仅仅需要JavaScript和一些后端代码(使用您选择的语言)。

如果是网站,您可以尝试通过用户计算机的IP/MAC地址来识别用户。但问题是它不可靠(例如:用户可能隐藏在假地址后面,或者多个用户可能使用同一个IP)。您可以阅读关于这个问题的一些方法(PHP)。

如果是移动应用程序,请使用唯一的设备ID(但同样,这需要的不仅仅是简单的JavaScript)。

  • 在Android上:Settings.Secure#ANDROID_ID(阅读有关此问题的更多信息)
  • 在iPhone上:[UIDevice currentDevice] uniqueIdentifier(阅读有关此问题的更多信息)
  • 在Windows Phone上:DeviceExtendedProperties.GetValue("DeviceUniqueId")(阅读有关此问题的更多信息)
  • 如果您使用Cordova/PhoneGap创建web应用程序,您可以使用device.uuid获取唯一标识符(点击此处阅读更多信息)

使用唯一设备ID(UDID),您可以识别投票的设备,而无需知道谁是该设备的所有者,也无需强迫用户创建帐户/登录。