我有一个使用 POST 的 html,用于对图像进行评级。这些图像是使用 SQL 随机选择的。
我一发布它,就注意到一些用户(使用用户 ID 标识)能够在短时间内对他们选择的图像进行多次投票。他们很可能正在利用处理 http POST 的方式中的缺陷。
作为临时解决方案,我添加了一些代码来检查图像是否在过去一小时内被同一个人评价过。这可行但并不理想,因为图像可能会在较短的时间内随机出现。
那么,我如何才能确保显示的图片只有一个评分,而同一随机选择的任何连续评分都会被拒绝?
P.S:我可能会向匿名用户开放,因此也欢迎任何使用 session 的建议。
最佳答案
为 user_id
和 image_id
创建一个复合 UNIQUE
约束。然后以 INSERT ... ON DUPLICATE KEY UPDATE
格式运行查询。
关于php - 使用 http post 的评级系统 - 避免滥用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6402932/