Javascript 保护Web API不被浏览器外部调用

Javascript 保护Web API不被浏览器外部调用,javascript,api,laravel,security,web-applications,Javascript,Api,Laravel,Security,Web Applications,也许我想得太多了 我在浏览器中运行了一些简单的javascript游戏(谜题等),当用户获胜时,分数会根据他们完成游戏的速度发送到laravel后端 当用户登录时,将创建一个典型的会话,当通过POST请求发送点时,csrf和JWT也是如此 用户是否可以打开chrome开发控制台并获取url,然后复制crsf、cookie或JWT,并在不实际玩游戏的情况下将点发送到后端 在浏览器外部调用的API不遵守访问控制允许源策略 有人能解释一下是什么阻止用户这样做,或者如何阻止这样的行为,并确保用户真正玩游

也许我想得太多了

我在浏览器中运行了一些简单的javascript游戏(谜题等),当用户获胜时,分数会根据他们完成游戏的速度发送到laravel后端

当用户登录时,将创建一个典型的会话,当通过POST请求发送点时,csrf和JWT也是如此

用户是否可以打开chrome开发控制台并获取url,然后复制crsf、cookie或JWT,并在不实际玩游戏的情况下将点发送到后端

在浏览器外部调用的API不遵守访问控制允许源策略


有人能解释一下是什么阻止用户这样做,或者如何阻止这样的行为,并确保用户真正玩游戏来赢取分数吗?

一种方法可以是分步安排游戏。也就是说,使用多个
元素

初始页面将只包含一个
元素和游戏的一部分

只有在提交该表单时,服务器才会将下一个
元素发送到
文档

每个
元素都有一个带有唯一标识符的
元素;例如,时间戳,设置在
name
属性,并在服务器上生成;在游戏过程中完成该步骤所需的最大时间内到期


如果用户提交的
没有唯一标识符,或者提交的
步骤超出了完成
过程中表示步骤所需的最长时间范围,则用户将被取消“赢得”当前游戏的资格,或者在给定的时间内不再玩游戏。

,您可以检查用户代理标头是否设置为添加。但是,这也可以在不需要web浏览器的情况下添加。很有趣,但是对于有一点编程经验的人来说,这不是很容易操作吗?@Orane“但是对于有一点编程经验的人来说,这不是很容易操作吗?”服务器端如何确定客户端在浏览器中执行的操作或提交给服务器的操作?也许考虑把Bounty放在这个问题上;收集一系列可能的解释和方法来解决问题中描述的潜在问题?