Facebook上的一些社交游戏允许用户发布一个到他们订阅源的链接说,“点击这里获得奖金金币——仅限于前5个人”。
我们如何生成这样的链接?
链接不应该被任何人轻易地“生成”为一种欺骗方法。
此外,应添加哪些数据库表来处理:
1)奖金最多可领取5次
2)必须由不同的人索赔
(每个人在社交网络平台(如Facebook)上都有一个唯一的数字ID)
?
更新:
我想的方法是在奖品表中获取下一个主ID(整数索引),然后用一些密钥MD5获取“奖品代码”,并确保它不在“PrizeClaimed”表中——如果已经存在,只需使用下一个主ID(通过添加记录并重新计算MD5,直到找到唯一的主ID)。此PrizeClaim表是奖品代码和用户ID的连接表,因此一个奖品可以由多个人领取,一个人可以领取多个奖品。如果一个人点击链接,我们会将奖品代码和用户ID的记录添加到表中——但前提是通过匹配奖品代码获得的记录数为4或更少。如果已经有5个,那么只需报告“太晚了——所有人都声称”。我想知道这个方法是怎样的,有没有漏洞,改进,或者其他方法来实现它?
(例如,奖品表只是一个用于获取ID的表,它不存储其他内容。也许我们可以用当前的时间戳加上一个随机数来做MD5,如果奖品代码已经存在,就再重复一遍。在这种情况下,我们可以忘记奖品表。)