2011-11-07 48 views
8

我正在创建一个返回json的简单web api。使我的网络api安全吗?

它会执行简单的crud操作。

什么是验证用户的最佳方式,OAuth似乎是这里的主要建议,但我正在寻找一些我可以实现自己的简单,基于令牌或API密钥?

任何意见建议,建议将是巨大的,感谢

更新:忘了提,这个API不会是一般的消费特征,它只是为我所用,但我想确保有人不能得到的太容易,如果他们偶然发现。

回答

3

首先,为了构建一个良好的API,您应该使用其他人的API来查看它们的工作方式。为了实现RESTful,我们使用了一个API密钥,它只是一个非常大的随机数或“密码随机数”。但实际上,这就像不朽的会话ID来查找用户认证信息,这并不是很好。 OAuth非常好,如果你想要你自己的系统kerberos是非常安全的。

这可能是hijack json responses,这是对json的一个陷阱。如果每个请求都需要API密钥,那么攻击者不能使用此方法。

+0

谢谢了! API可能就足够了,因为我知道请求将来自的IP。 –

+0

@Rigobert宋现在这是一个非常糟糕的主意,没有我知道使用的API。你打开json劫持的大门。 IP地址由用户共享。 Oah,对于许多企业和学校来说它将变得毫无用处,因为负载平衡将旋转用户的IP地址。 – rook

+0

不好意思说API密钥!我已经更新了这个问题,仅供我使用,不是公开APi! –