基于主机或域的白名单api端点

时间:2015-06-04 20:40:38

标签: server

我正在构建一个返回图像的端点。我想只允许来自同一域的请求为此端点,以便其他人无法访问它。我无法使用CORS,因为您基本上可以在图像标记内进行调用并绕过任何cors限制。反正有吗?

1 个答案:

答案 0 :(得分:0)

如果您的目标是阻止简单热链接,则可以进行引荐来源检查:检查Referer [sic!] 标头,确保其中包含列入白名单的域名。

请注意,Referer标题有时会丢失,例如因为它已被关注用户隐私的安全软件删除。

此外,毋庸置疑,任何决心滥用您服务的人都很容易绕过基于推荐人的检查。

虽然你不能(据我所知)在浏览器请求中伪造引用者(例如用AJAX下载图像),但你可以简单地设置一个代理服务器,它可以使用伪造的引用者标题下载图像并传递他们是真正的客户。

但是,至少,这需要一些精力,你可以通过IP地址轻松阻止这样的服务器(除非它是一个IP地址池)。