防止多个手动执行外部PHP脚本

时间:2012-12-27 19:29:17

标签: php mysql sql security

我的应用程序调用外部PHP文件来检索并向SQL数据库提交信息。每个请求都在我认为是任何浏览器的开发人员面板中可见,并且可以轻松地手动重新执行。这是我的理解that trying to detect the "source" of the request is not the right way to go about restricting manual invocation of scripts

我想要阻止重新执行这些脚本的主要原因是它们可能导致用户给自己的收益超过他们的收入(UPDATE user_scores SET score = score + x)或者让自己回到以前的状态多次他们想要(UPDATE user_scores SET score = x)。

什么是确保脚本中只打算执行一次的查询是第一次执行而又从不再执行的经过验证的方法是什么?

1 个答案:

答案 0 :(得分:1)

你应该从不依赖这样的客户端控件。您的PHP脚本应该检查用户是谁,并在执行之前验证他们应该“获得”他们正在获得的任何内容。

你正在运行的任何代码,首先计算得分应该是你的UPDATE代码的位置......它永远不会离开服务器。