Arm*_*nco 5 authentication cookies anonymous voting vote
我想要一些伪代码或白板建议允许在我的网站上进行未经身份验证的投票.我已经查看了这个主题的相关主题,但我认为我的方案不同,足以保证自己的主题.
有3分核心的情况我想支持.
1)经过身份验证的用户"Joe Blow"登录到我的网站并投票.由于他经过身份验证,他只能投票一次.对于他所做的每一次投票,我将他的UserId存储在数据库中
2)未经身份验证的用户"Sally"访问我的网站并投票.由于她未经身份验证,我将在一个名为"Anonymous-Users-From-My-Site"的用户帐户下保存她的投票.
3)未经身份验证的用户"Zoltan"使用我构建的小部件来从托管我的小部件的其他合作伙伴网站访问我的网站.他也可以从该网站投票.我将在名为"Anonymous-Users-From-A-Partner-Site"的合作伙伴用户帐户下保存他的投票.
这里的转折是我需要支持"莎莉"和"佐尔坦"投票无限数量的能力.也许莎莉想在一天内投票500件事.也许Zoltan想在合作伙伴网站上投票200件事.也许Sally没有重新访问该网站一个月,然后回来投票更多的东西.
如何使用cookie实现方案2和3?我是否一起散列所有项目ID的投票?我有什么选择?
FWIW:我计划在统计选票时做出严格的区分.我会明确表示,匿名投票就是这样 - 匿名.在查看结果时,人们会理解使用一定程度的怀疑态度.但我仍然认为允许未经身份验证的用户投票是有价值的,即使他们可以通过使用多个浏览器来游戏系统或在每次投票后删除他们的cookie.如果用户在我的网站上投票必须至少做到这一点,那么我会满意的.
最后:我对使用像EverCookie这样的东西不感兴趣.根据我的需要,这是完全矫枉过正的.
我个人不会将任何未经身份验证的条目与单个用户混在一起......相反,我会有一个未经身份验证的响应表。当某人第一次投票时,您将其插入到该表中,并将自动密钥 (ID) 存储在他的 cookie 中。如果他删除了他的cookies……谁在乎呢。但这应该可以解决您的所有需求。
这样你就不会试图通过解析逗号分隔的“投票”来“伪造”逻辑......而是你只是假装他们是普通用户并点击你的数据库来拉他们的选票。
归档时间: |
|
查看次数: |
376 次 |
最近记录: |