如何在不创建用户帐户的情况下允许每个人 (computer/mobile) 在网站上的 1 post 上只投 1 票?
How to allow only 1 vote per person(computer/mobile) on 1 post at website without making user accounts ?
我在学习 Meteor 框架的过程中将 Yik Yak 移动应用程序重新创建为 Web 应用程序。但是该应用程序是完全匿名的,没有用户帐户,但您仍然只能投票 post 一次。如何进行这项工作?
您想要的可能需要的不仅仅是 JavaScript 和一些后端代码(使用您选择的语言)。
如果是网站,您可以尝试通过 his/her 计算机的 IP/MAC 地址来识别 用户。但问题是它不可靠(例如:用户可能隐藏在假地址后面,或者多个用户可能使用相同的 IP)。您可以 read about some methods on this question (PHP).
如果是移动应用程序,请使用唯一的设备 ID(但同样,这需要的不仅仅是普通的 JavaScript)。
- 在 Android 上:
Settings.Secure#ANDROID_ID
(read more on this question)
- 在 iPhone 上:
[UIDevice currentDevice] uniqueIdentifier
(read more on this question)
- 在 Windows Phone 上:
DeviceExtendedProperties.GetValue("DeviceUniqueId")
(read more on this question)
- 如果您使用 Cordova/PhoneGap 创建网络应用程序,您可以使用
device.uuid
获取唯一标识符 (read more here)
使用唯一设备 ID (UDID),您可以识别投票的设备,而无需知道谁是该设备的所有者,也无需强迫您的用户在 account/log 中创建
我在学习 Meteor 框架的过程中将 Yik Yak 移动应用程序重新创建为 Web 应用程序。但是该应用程序是完全匿名的,没有用户帐户,但您仍然只能投票 post 一次。如何进行这项工作?
您想要的可能需要的不仅仅是 JavaScript 和一些后端代码(使用您选择的语言)。
如果是网站,您可以尝试通过 his/her 计算机的 IP/MAC 地址来识别 用户。但问题是它不可靠(例如:用户可能隐藏在假地址后面,或者多个用户可能使用相同的 IP)。您可以 read about some methods on this question (PHP).
如果是移动应用程序,请使用唯一的设备 ID(但同样,这需要的不仅仅是普通的 JavaScript)。
- 在 Android 上:
Settings.Secure#ANDROID_ID
(read more on this question) - 在 iPhone 上:
[UIDevice currentDevice] uniqueIdentifier
(read more on this question) - 在 Windows Phone 上:
DeviceExtendedProperties.GetValue("DeviceUniqueId")
(read more on this question) - 如果您使用 Cordova/PhoneGap 创建网络应用程序,您可以使用
device.uuid
获取唯一标识符 (read more here)
使用唯一设备 ID (UDID),您可以识别投票的设备,而无需知道谁是该设备的所有者,也无需强迫您的用户在 account/log 中创建