nginx 缺少 referer 的热链接保护,但允许直接 URL 请求

nginx 缺少 referer 的热链接保护,但允许直接 URL 请求

我正在使用从此页面找到的以下 Nginx 热链接保护:

https://nixcp.com/anti-hotlinking-nginx/

我使用这个代码:

location ~* \.(gif|jpg|jpeg|png|webp|svg|ico)$ {

valid_referers none blocked mysite.com ~.mysite.com server_names ~($host);
    if ($invalid_referer) {
        return  403;
    } 
}

当我从 valid_referers 中删除“none”以防止没有 referer 的页面热链接时,我注意到这也会影响来自浏览器 URL 栏的直接 URL 请求。

我的问题是:有没有什么办法可以阻止热链接和发送请​​求头中缺少“Referer”字段的网站;但同时允许来自浏览器的直接 URL 请求?

谢谢!

相关内容