这可能是一个通用的安全问题,但我想我会问在我正在开发的领域。Web服务API密钥和Ajax - 保护密钥
该方案是:一个Web服务(WCF Web Api),它使用API密钥来验证并告诉我该用户是谁,以及jQuery和前端应用程序的组合。
一方面,流量可以是https,所以它不能被检查,但是如果我为每个用户使用相同的密钥(比如说一个GUID),并且我在两个方面都使用它,那么就有可能被采用有人可以冒充用户。
如果我实现了类似于OAuth的东西,那么就会生成一个用户和每个应用程序的关键字,并且这可能会起作用 - 但对于jQuery方面我仍然需要javascript中的应用程序API关键字。
这只会是一个问题,如果有人在实际的计算机上,并做了查看来源。
我该怎么办?
- md5或以某种方式加密密钥?
- 把密钥放在会话变量中,然后当使用ajax检索它时?
- 克服它,这不是什么大问题。
我相信这可能是一个普遍的问题 - 所以任何指针都会受到欢迎。
为了使这个更清晰 - 这是我的API我写了,我查询,而不是谷歌等,所以我可以做每会话令牌等,我只是想制定出最好的以确保我将使用的客户端令牌/密钥的安全。
我在这里有点过于谨慎,但只是用它来学习。
我的投票将是#2。 – 2011-06-10 05:33:24
我的投票也会转到第2位,假设代币也有到期。 – 2011-06-14 00:22:20