假设您希望第三方网站复制并粘贴您提供的一段 javascript 代码。此代码使用 AJAX 请求访问服务器上的 JSON API。您将如何实现安全性,以便在将 API 使用与已注册并收到 API key 的网站相关联时,有效地禁止网站滥用另一个网站的 API key /使用?客户端无法实现这种安全性吗?网站必须从服务器访问 API 吗?
最佳答案
您还可以在您的服务器站点上检查请求的 HTTP 引荐来源网址。
我不认为更改 javascript 代码可以伪造它。
但它不能阻止某人从自定义浏览器或某些 http 客户端发送自定义包。
实现服务器端解决方案是可能的,而且不太难,但它会阻止许多站点使用您的脚本。
你可以让他们从他们的服务器发送请求
或者让他们将 key 保存在他们的服务器上,在将 key 发送给客户端之前对 key 进行哈希处理(经过哈希处理的 key 会在一段时间后发生变化)...
关于javascript - 来自客户端访问 API 的 AJAX 请求的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7624110/