【发布时间】:2017-05-10 12:00:34
【问题描述】:
我试图用谷歌搜索我的问题,但我什至不知道如何问我的问题:当用户在我的网站上执行一个特定事件时,我想调用此函数,这会增加其他用户在一个mysql数据库:
function incrasecredit(){
$.ajax({
type: "POST",
url: "/increasecredit.php",
data: {},
success: function(html) {
}
});
}
...简单。问题是(如脚本名称所示)此事件与“信用系统”/货币相关联。所以我想它应该是安全的。用户不应以任何其他方式访问“/increasecredit.php”。例如。只需通过浏览器执行它。只有在这种特殊情况下,当我在我的 jquery 脚本中调用它时。更准确地说,当用户点击 iframe 时,应该执行 incrasecredit()。并且仅在这种情况下。我怎样才能保护这个脚本不被错误地执行?我试图用令牌解决它,但还没有弄清楚。我觉得我没有得到更大的图景。提前致谢。
【问题讨论】:
-
您是否在使用某种形式的用户身份验证?我认为更好的方法是在 increasecredit.php 脚本中进行检查,因为 ajax 请求(以及任何其他类型的前端验证)可以简单地“欺骗”
-
是的,用户身份验证由会话完成。但是如何检查用户是否有权增加其他用户条目的信用值?
-
这是你自己的系统; 你不应该知道吗?交易的约束条件是什么?比他们应该做的更频繁地这样做是否符合用户的利益?
-
是的,确实,更频繁地执行此操作符合用户的利益。例如。如果他有第二个假帐户并试图通过调用 php 脚本来增加另一个帐户的信用。我想我可以轻松地限制请求的数量,但是第一个(错误的)请求呢?我很困惑。
-
所以这实际上是关于检测假账户,一个完全独立的问题?您可以比较 IP 地址和浏览器指纹。
标签: javascript php jquery