0

我正在构建一个只允许通过域名访问的 API(PHP),我应该如何检查 JSONP 请求来源?
有没有我可以实施的安全层?(我目前没有使用钥匙*)


* =我希望用户只添加脚本标签,我不希望他们必须插入密钥并搞砸 - 如果你有任何想法来实现它并保护它,我会很高兴听到它。

4

2 回答 2

1

没有安全的方法可以做到这一点,来源可以被欺骗......

于 2012-07-10T12:37:29.273 回答
1

您将得到的最好的结果是:

referer如果标头丢失或设置为具有白名单中域的 URL,则接受请求。

这将阻止人们在 HTTP 站点上有效地使用您的 API 客户端。

一些(相对较少的)用户将禁用推荐人。他们将能够在任何使用 API 的网站上使用 API(但由于他们是少数,大多数网站都不想依赖它,因为它只会对大多数用户造成破坏)。

它不会阻止人们运行 HTTPS 网站和使用 API - 但他们的用户会被警告安全和不安全内容的混合,所以这也是一个没有吸引力的选择。

这不会阻止人们访问您的 API 服务器端,但您可以通过基于 IP 的速率限制来解决这个问题。

于 2012-07-10T12:43:52.937 回答