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