Nginx 怎么阻止静态资源被直接访问(如图片或 CSS)而必须要求在被信任的域名上的页面中引用?

2017-10-23 11:59:29 +08:00
 doufenger

当检测到盗链时不返回静态资源。 (比如 a.jpg 只有当被 mydomain.combaidu.com 上的页面引用时正常输出而不能被直接访问或在其他域名上引用)

我在网上搜索到以下配置代码,但是配置上去后,我自己的网站的图片也显示盗链,所以不成功

location ~* .(gif|jpg|png|jpeg)$ { expires 30d; valid_referers *.我的域名 我的域名; if ($invalid_referer) { rewrite ^/ http://ww4.sinaimg.cn/bmiddle/051bbed1gw1egjc4xl7srj20cm08aaa6.jpg; #return 404; } }

7906 次点击
所在节点    NGINX
9 条回复
janxin
2017-10-23 12:03:42 +08:00
允许 none 了嘛?
Famio
2017-10-23 12:15:04 +08:00
这不是防盗链么。。

location ~* \.(gif|jpg|png|bmp)$ {
valid_referers none blocked *.liujunyang.com server_names ~\.google\. ~\.baidu\.;
if ($invalid_referer) {
return 403;
#rewrite ^/ https://www.liujunyang.com/403.jpg;
}
}

所有非 liujunyang.com 非百度非 google 都用 403.jpg 图片代替。
防不胜防 SEO 一波。
doufenger
2017-10-23 12:17:09 +08:00
@janxin 没允许,我想禁止可以浏览器直接访问图片地址
doufenger
2017-10-23 12:17:31 +08:00
@Famio 我这样配置后 我自己站也显示盗链。。
misaka19000
2017-10-23 12:23:00 +08:00
用 Referrer 啊
est
2017-10-23 12:25:09 +08:00
CSP 伺候。
doufenger
2017-10-23 12:30:54 +08:00
@misaka19000 我找到的配置代码就是用 Referrer 的
Famio
2017-10-23 12:38:23 +08:00
@doufenger 你网站域名是什么,现在的配置是什么,发出来看看
aksoft
2017-10-26 14:53:49 +08:00
我就这么用的。没问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/399879

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX