最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【记录】给crifan.com网站设置图片防盗链

WordPress crifan 2524浏览 0评论

【背景】

自己的网站crifan.com中有很多帖子,被其他人转载,但是又都没有注明转载信息。

并且图片链接都是用的我的crifan.com的图片。

导致一个结果:

我的网站最近的流量都不太够用了:

每月月底,都会收到hawk的流量将要超限的提醒(超过80%了,超过95%了)

所以:

现在要去弄那个图片防盗链的事情了:

这样其他网站,没法直接用我的图片了

->大大减少我的网站的流量和服务器的负荷

【折腾过程】

1.搜:

wordpress 防盗链

参考:

WordPress图片防盗链的几种方法 | 周良博客

决定:

只禁止png和jpg,保留gif。

因为我网站中大部分图片都是jpg和png,gif没几张。

然后防盗链图片,用gif图片。

所以就去登录cpanel中的文件管理器,想要去修改.htaceess,结果发现网站根目录中没有这个文件。。。

所以就去想办法解决:

【已解决】wordpress主机hawk中没有.htaccess文件

2.然后去打开.htaccess文件:

file editor editing dot htaccess ifModule

去添加对应的内容:

#Hotlink Protection
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?crifan.com/.*$ [NC]
RewriteRule \.(jpg|png)$ https://www.crifan.com/files/res/crifan_com/stealingisbad.gif [R,L]

但是先搞搞懂确切的语法,所以再去研究研究:

【记录】研究.htaccess文件中的RewriteCond和RewriteRule的语法

3.然后搞定了语法后,想要去加进去,但是不能完全确定,是不是要加到:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On

下面去。

begin wordpress ifmodule mode_rewrite

然后参考:

修改.htaccess实现301域名重定向示例分享_Linux/apache_脚本之家

发现的确是的。

所以去加上:

under rewriterule add hotlink protection grammar

变成:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

#Hotlink Protection
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?crifan.com/.*$ [NC]
RewriteRule \.(jpg|png)$ https://www.crifan.com/files/res/crifan_com/stealingisbad.gif [R,L]
</IfModule>
# END WordPress

 

然后看看效果如何。

然后虽然打开一个之前引用我网站图片的帖子,果然看到了防盗链了:

really show example for please not do hotlink

【总结】

至此,终于给wordpress网站中添加了图片防盗链了。

注:

本来想给防盗链图片加上提示:

告诉不懂的用户,如何查看图片原始地址,然后用浏览器可以访问原始图片的。

但是还是觉得太麻烦。就懒得弄了。

毕竟:

盗链的事情,还是需要盗链我的网站,去解决的。

而不是被盗链的我去解决。


【后记 2014-05-07】

1.无意间发现,别的某个网站:

http://aiku.me/bar/101254810

中,貌似已经(之前就)破解了防盗链了?

暂时不管了。。。

有空再关心此事吧。

2.又发现一个网站,也已经可以正常显示我加了防盗链的图片的:

【整理】【多图详解】如何在Windows下开发Python:在cmd下运行Python脚本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE | 在路上

。。。

3.打开:

在cmd下运行Python脚本+如何使用Python Shell – 泡不到妞的可憐蟲 – 51CTO技术博客

也是可以看到图片,不过经过Ctrl+F5强制刷新后,就看不到了:

就显示防盗链的图片了。

4.可以看到,对于推酷来说,其已经自动抓取了我网站的图片了:

【crifan推荐开发工具】Windows下查看代码工具:Source Insight – 推酷

其中的图片的地址都是:

http://img0.tuicool.com/emm2ey.png

而不是我原先的:

https://www.crifan.com/files/pic/uploads/2013/10/sublime-text-3-view-arm-board.c-effect_thumb.png

所以:

推酷,做的还是相对比较专业的:

不仅抓取文章,也抓取图片的。


【后记 2014-05-08】

1.后来才注意到:

WordPress图片防盗链的几种方法 | 周良博客

和之前看到的:

WordPress通过.htaccess防止wordpress图片文件盗链

然后之前就想到的:

到时候,支持:

google.com

google.cn

google.hk

google.com.hk

google.jp

google.co.jp

baidu

sogou

yahoo

等搜索引擎

所以很明显,此处需要继续去添加上述各种搜素引擎的支持:

#Hotlink Protection
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^.+?crifan\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^.+?google.*$ [NC]
RewriteCond %{HTTP_REFERER} !^.+?baidu.*$ [NC]
RewriteCond %{HTTP_REFERER} !^.+?sogou.*$ [NC]
RewriteCond %{HTTP_REFERER} !^.+?yahoo.*$ [NC]
RewriteRule \.(jpg|png)$ https://www.crifan.com/files/res/crifan_com/stealingisbad.gif [R,L]

这样应该就可以了。

转载请注明:在路上 » 【记录】给crifan.com网站设置图片防盗链

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
83 queries in 0.227 seconds, using 22.13MB memory