来自客户端访问API的AJAX请求的安全性

时间:2011-10-02 01:42:41

标签: javascript ajax json security api

假设您希望第三方网站复制并粘贴您提供的一段javascript代码。此代码使用AJAX请求访问服务器上的JSON API。您如何实现安全性,以便在将API使用情况与已注册并收到API密钥的网站相关联时,您是否会有效地禁止网站滥用其他网站的API密钥/用法?客户端是否无法实现此安全性?网站必须从服务器访问API吗?

3 个答案:

答案 0 :(得分:1)

您还可以在服务器站点上检查请求的HTTP引荐来源 我不认为更改javascript代码会伪造它 但它无法阻止某人从自定义浏览器或某个http客户端发送自定义程序包。

实现服务器端解决方案是可能的,并不是太难,但它会阻止许多网站使用您的脚本 您可以让他们从他们的服务器发送请求 或者让他们将密钥保存在他们的服务器上,在将密钥发送到客户端之前对密钥进行哈希处理(哈希密钥在一段时间间隔后发生变化)...

答案 1 :(得分:-1)

您只需查看window.location或其中某些组件即可。

答案 2 :(得分:-1)

我能想到实施此类安全性的唯一方法是使用IP地址,但这样做充其量是有风险的,因为有很多原因会导致设计错误。

这将是服务器端保护javascript文件的安全性。您可以让一个Web服务提供javascript,这样它就可以在将文件发送到客户端之前进行检查。