如何验证和验证网站上的操作?

时间:2014-08-26 21:38:26

标签: php jquery ajax validation

我有一个网站,我有一个按钮。按下该按钮时,我使用jquery和ajax在数据库中的一行中添加+1。更具体地说,ajax的操作是一个.php文件,在该文件中我发送了我想要的数据库行的id。 如果一个对Web开发有所了解的人查看我的源代码并看到我在按下按钮时处理该ajax,他可以复制该URL并刷新页面100次并将+100添加到该行。

我该怎样防止这种情况?只有当用户按下该按钮时,如何才能使.php文件执行代码?

1 个答案:

答案 0 :(得分:1)

你永远不能100%阻止它。但是这个问题有一些常见的做法。 如果您使用Ajax,那么无关紧要。

  1. 会话Cookie - >如果用户第一次单击该按钮,请设置会话值。如果会话值存在,则不再计数。问题:用户可以清除浏览器缓存,因此他获得了新的会话ID。
  2. 保存用户的IP,每个IP只允许一次。问题:用户可以重新启动路由器,因此他从提供商处获取新的IP。并且您会遇到每个用户拥有相同IP的公司网络的问题。
  3. Zombie Cookies问题:很糟糕,有办法删除此Cookie。