php - 使用 http post 的评级系统 - 避免滥用

标签 php mysql html sql http-post

我有一个使用 POST 的 html,用于对图像进行评级。这些图像是使用 SQL 随机选择的。

我一发布它,就注意到一些用户(使用用户 ID 标识)能够在短时间内对他们选择的图像进行多次投票。他们很可能正在利用处理 http POST 的方式中的缺陷。

作为临时解决方案,我添加了一些代码来检查图像是否在过去一小时内被同一个人评价过。这可行但并不理想,因为图像可能会在较短的时间内随机出现。

那么,我如何才能确保显示的图片只有一个评分,而同一随机选择的任何连续评分都会被拒绝?

P.S:我可能会向匿名用户开放,因此也欢迎任何使用 session 的建议。

最佳答案

user_idimage_id 创建一个复合 UNIQUE 约束。然后以 INSERT ... ON DUPLICATE KEY UPDATE 格式运行查询。

关于php - 使用 http post 的评级系统 - 避免滥用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6402932/

相关文章:

mysql - 如何将 ER 图转换为 sql?

php - 在 mysql PHP 中加载更多结果中的序列号

Mysql 数据透视表

php - 在 HTML 按钮上回显 PHP 数组值的 JavaScript 警报?

php - ./libraries/phpseclib/Crypt/Base.php#967 中的警告

php - 如何从 CLI 调试 PHP CLI 脚本

javascript - 当用户位于页面中的不同点时,如何在 UI Bootstrap 中显示警报

html - 即条件注释需要解释

html - 固定 Div 在整个屏幕上的拉伸(stretch),需要每个占据水平空间的百分比

PHP MySQLi 参数化查询不起作用