如果这个问题含糊不清或之前被问过,我道歉 - 我不知道为了寻找答案我想问什么。
我正在为响应HTTPS请求的游戏创建后端服务器。此时此游戏相当简单 - 您有一些统计数据和库存,可以通过各种方式进行检查和修改。我想为此创建一个Web界面,这将允许您执行一些涉及修改角色数据的重要操作(升级,分配统计点,管理库存等)但是,我有一个问题!我担心人们会看一下这个网页的源代码,拼凑一些命令,例如,将一个点添加到统计数据或项目到你的库存,然后“欺骗”该命令到我的服务器,允许他们不公平地修改他们的角色数据。
将项目添加到您的广告资源的HTTPS请求可能如下所示(想象它是按钮或其他内容的onClick):
<button onClick=makeRequest("mydomain/characters/myCharacterName/add_inventory?Stick=1")>Get Stick</button>
你可以看到分开这段代码并以其他方式使用它是多么微不足道。如何在网页中提供此类功能,而不会泄露它的利用能力?我考虑了一些选项,其中没有一个看起来会起作用。我觉得答案可能与将请求的哈希包含在各种类型的可兑换“令牌”中有关,但我不确定。对此的任何意见都将不胜感激,因为我相信这是一个相当基本的概念,对我现在和将来有所帮助。
答案 0 :(得分:1)
您应使用JSON web tokens等身份验证机制对您网站的所有请求进行身份验证。
您还应通过验证所有输入(例如url参数)来保护您的Web服务器。如果您的Web服务器访问数据库服务器,那么它应该使用准备好的SQL查询。这应该保护您的服务器免受SQL注入。