【发布时间】:2018-09-16 09:25:01
【问题描述】:
我正在创建一个 Tampermonkey 用户脚本,它从包含用户高分的网站发送 POST 请求。例如这样的事情:
$.post('https://example.com/scores', {
id: 123, high_score: 999,
});
但是,问题是用户很容易伪造一个假分数并使用假的high_score 发送他们自己的 POST 请求。是否有办法以某种方式对这些请求进行身份验证,以便我可以区分来自用户脚本的真实请求和来自用户的伪造请求?也许一些加密/解密?
【问题讨论】:
-
这不是普通的 javascript,而是 jQuery。你的答案可能是这样的:stackoverflow.com/questions/5507234/…
-
@nitobuendia 当然,post 请求是通过 jQuery 完成的;但是身份验证部分可以通过 javacript 完成,例如使用 vanilla javascript 创建一个加密令牌并将其传递给请求。我已经在这个问题中添加了 jquery 标记以避免混淆。
-
@rottenoats 这个页面有一个实际的游戏正在玩,这个页面上有一个返回用户高分的函数。我只是检索从函数返回的值并将其传递给 POST 请求。
-
在写js的时候,你将无法完全让别人无法作弊。最好的办法是让它尽可能复杂。另外,谁真正在看 JS 扩展代码?您还可以检查游戏是否具有某种 API,您可以在其中检查“游戏 ID”是否对应于现有游戏。否则,只需让您的代码尽可能混乱。
-
好的,明白了。感谢您的见解@rottenoats
标签: javascript jquery authentication post