【发布时间】:2017-07-12 18:38:54
【问题描述】:
如果这个问题含糊不清或以前曾被问过,我深表歉意 - 我对我试图问什么以寻找答案的了解不够。
我正在为响应 HTTPS 请求的游戏创建后端服务器。这个游戏在这一点上相当简单——你有一些统计数据和一个可以通过各种方式检查和修改的库存。我想为此创建一个 Web 界面,这将允许您执行一些涉及修改角色数据的重要操作(升级、分配统计点、管理库存等)但是,我有一个问题!我担心人们偷看这个网页的源代码,拼凑一些命令,例如,将一个点添加到一个统计数据或一个项目到你的库存中,然后将该命令“欺骗”到我的服务器,允许他们不公平地修改他们的角色数据。
将商品添加到库存的 HTTPS 请求可能如下所示(将其想象为按钮或其他内容的 onClick):
<button onClick=makeRequest("mydomain/characters/myCharacterName/add_inventory?Stick=1")>Get Stick</button>
您可以看到将这段代码分开并以其他方式使用它是多么简单。我怎样才能在网页中提供这种功能,而不放弃利用它的能力?我考虑了一些选项,但似乎没有一个可行。我觉得答案可能与将请求的哈希作为某种可赎回的“令牌”包括在内有关,但我不确定。对此的任何意见将不胜感激,因为我相信这是一个相当基本的概念,现在和将来都会对我有所帮助。
【问题讨论】:
-
服务器端不应该有一个逻辑知道哪些操作是可能的——因此不可能做任何其他事情。
标签: security web hash server client