防止API“欺骗”或“黑客攻击”

时间:2011-10-25 13:20:56

标签: security api web spoof

我创建了这个网络应用程序,我创建了这个API。为了这个例子,让我们保持简单:

我的应用需要知道用户有多少“信用”。 api有一个调用get_credits,返回{credits:1000}

现在,我如何阻止某人使用主机文件(或其他方法)创建自己的api,返回{credits:2000}。

我正在考虑插入某种哈希值,但由于它是javascript,因此很容易从源中提取哈希值。我猜也是一样的握手。

那么,我如何使api足够安全?

3 个答案:

答案 0 :(得分:2)

你必须以不同的方式去做,才能有一个非常安全的应用程序。您绝不应该信任最终用户的应用程序,因为用户或黑客可能会修改代码。

所以我建议保留服务器上的所有购买等。因为我现在对你的系统不太了解,所以我无法帮助你。

如果对于服务器生成散列的每个项目,这个散列可以允许用户向其他用户显示他真正购买了该项目,那将是件好事。

请注意,此哈希值必须长而且独特,因为否则用户可能会强行使用它们。

我希望你理解我和我的答案可以帮助你; - )

答案 1 :(得分:0)

如果它是客户端,那么你可以做的事情并不多 - 尽力而为。但您必须确保在帖子后面验证回复。永远不要相信用户: - )

答案 2 :(得分:0)

我现在要告诉你我的系统是如何工作的。 为了在游戏中获得积分,我发出了一个ajax请求来加载它们。 ajax请求调用一个简单的php页面,其中有一个“echo $ credits;”。所以,这是不可能的。如果有人修改了客户端信用,当他们请求礼物我用php检查服务器端信用以确保它们是合法的:P - 请考虑检查你的系统是否容易受到mysql注入攻击,以防止有人会破解你的积分系统:D