繁体   English   中英

验证POST请求

[英]Authenticating POST requests

我正在创建一个tampermonkey用户脚本,它从包含用户高分的网站发送POST请求。 像这样的东西例如:

$.post('https://example.com/scores', {
    id: 123, high_score: 999,
});

然而,问题是用户很容易伪造假分数并使用假的high_score发送自己的POST请求。 是否有办法以某种方式验证这些请求,以便我可以区分来自用户的真实请求和来自用户的伪造假请求? 也许有些加密/解密?

您可以使用随机数(只有在您可以根据您正在使用的平台(唯一标识符))生成的值中使用一个隐藏的输入添加到您的页面中,当您发送帖子时读取该值并将其添加到您的post body,在服务器端你检查数据库中是否存在这个nonce然后这个帖子是真实的,否则它不是。 如果你有会话,你可以在后端保存这个随机数,这是一个例子

<input type="hidden" value="your-nonce" id="your-id">

<script>
let nonce = $("#your-id").val();
$.post('https://example.com/scores', {
    id: 123, high_score: 999,nonce
});
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM