老杨说话的地方
  • 首页
  • 关于老杨
  • 博客时间
  • 文章分类
    • 人工智能
    • 人生感悟
      • 共产主义
      • 能量哲学
      • 自然辩证法
    • 信息技术
      • C#笔记
      • LaTex
      • Linux
      • RIME
      • Ubuntu&Debian
      • WordPress
      • 基于Java的B/S系统构建
      • 开源开发
      • 病毒相关
      • 编程的坏习惯
      • 网上办公系统
    • 往事随风
      • 我在大学那几年
      • 童年趣事
      • 精彩生活
    • 情感随笔
    • 文学创作
      • 小说
    • 生活记录
      • 博士进行中
      • 美国一年
      • 老杨学游泳
    • 评论杂谈
  • 留言本
我是老杨
张驰有度 宠辱不惊
  1. 首页
  2. 信息技术
  3. 正文

使用.htaccess文件设置网站防盗链

2008年06月18日 5229点热度 0人点赞 5条评论

前一段时间网站因为被盗链,导致流量超标,后来就寻找网站防盗链的方法,发现使用.htaccess文件是一个不错的选择,虽然并不完美,但是差强人意吧,简单的功能还是能够实现的。

其实代码非常简单,我这里使用了两次,代码如下:

RewriteCond %{HTTP_REFERER} !^http://yangyq.net/.*$ [NC]

RewriteCond %{HTTP_REFERER} !^http://yangyq.net$ [NC]
RewriteRule .*\.(jpg|jpeg|gif|png)$ /files/err.bmp [L,NC]
RewriteCond %{HTTP_REFERER} !^http://yangyq.net/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://yangyq.net$ [NC]
RewriteRule .*\.(mp3|rar|c)$ http://yangyq.net [L,NC]

这里解释一下:

HTTP_REFERER,这个是浏览器请求的数据包中的参数,具体含义请参考HTML协议。下面RewriteRule的内容就是需要防盗链的文件类型,一般来讲包括图片格式,mp3文件以及压缩包,这里因为我想把图片都显示为我预设的一张图片, 后面紧跟的内容/files/err.bmp就是你希望跳转的文件。整段话的意思就是,如果本站图片资源请求的HTTP_REFERER不是本站的地址(http://yangyq.net或者http://yangyq.net/.*)的话,则跳转到/files/err.bmp这个文件。

效果就是当别的网站引用本站的图片时,就会出现err.bmp这张照片,告诉浏览者这是被盗链的图片。

2970148411_76c2786d9d_o

对于其他的文件,我让其跳转到http://yangyq.net这个页面。

对于图片,这里会出现一个问题,那就是如果你这样写:RewriteRule .*\.(jpg|jpeg|gif|png|bmp)/files/err.bmp [L,NC] ,那么当跳转到err.bmp的时候,检测到这个规则需要再次跳转到err.bmp,一直重复循环下去,在火狐下面提示您请求的内容循环重定向。网上有介绍说,把后面的 [L,NC]改成 [R,NC],我测试了一下,实际也是不行的,我不知道是不是我配置的问题,至少这个问题我没有解决。我选择的方法是这个err图片我找一种不常用的格式,比如我的网站除了这个bmp再也没有bmp文件了,那么规则里面我就不需要对bmp文件进行防盗链了。于是上面的代码变成了这样RewriteRule .*\.(jpg|jpeg|gif|png) /files/err.bmp [L,NC],这样不会出现循环重定向的问题。

以后可以尝试还有没有更好的办法。

标签: 网站
最后更新:2021年02月25日
老杨

老杨

博士,非博学之士;讲师,讲所学所知。糊涂半生,虚度半世,唯愿平淡快乐,度过此生。

点赞

评论(5)

写下你的评论
  1. Feng
    Feng2008年06月18日 13:48

    对你这个显示代码插件比较感兴趣。

  2. 老杨
    老杨作者2008年06月19日 00:07

    这个叫做coolcode,是国人开发的,大名鼎鼎,你搜一下就知道了

  3. 老杨
    老杨作者2008年06月20日 13:25

    不过有点不如人意的地方,就是直接复制下来不能运行

  4. wonsore
    wonsore2008年09月01日 19:53

    请教了
    如何让MP3可以在自己网页上在线播放但是又防盗链
    我用您提供的代码好像实现不了

    1. 老杨
      老杨作者2008年09月02日 20:28

      @wonsore 你说的这个问题我也是知道的,我现在没有想到特别好的办法,因为你的页面请求mp3文件的时候,也没有正确的HTTP_REFERER,所以这种方法可能无法实现你说的功能。
      我再考虑一下,如果有答案我会联系你的,谢谢关注!

发表评论

选择代码语言
选好后在光标处插入代码块,把示例文字换成你的代码即可。

老杨

老杨

博士,非博学之士;讲师,讲所学所知。糊涂半生,虚度半世,唯愿平淡快乐,度过此生。

搜索
最新 热点 随机
关于机器人的发展 遥遥领先 开源密码生成工具SimplePassword 痛苦根源 同步日历-我的第一款鸿蒙应用(鸿蒙CalDav客户端) 别成为AI的奴隶 给阿嬷的情书 信息焦虑综合症 PUA 人的悲喜并不相通
为多用户安装Anaconda及其使用方法WordPress主题发布:kratos_YangLaTex中上划线\overline和\bar的使用说明LaTex中设置字体的正确方法那一年,2009使用Windows7自带Windows Media Center播放RMVB影片幼儿园:回味童年童年趣事之气门芯这几天的事儿无插件实现WordPress留言本
什么是优质的客服 New version of Gmail 随波逐流06闹鬼 从Windows7升级到Windows Xp 她们何错之有? 感动 我在大学那几年(序) 我们应该靠什么吃饭? Linux下Java的安装 触手可及
最近评论
  • 感谢支持。可以买个鸿蒙设备玩玩
    老杨·2 周前·同步日历-我的第一款鸿蒙应用(鸿蒙CalDav客户端)
  • 没有鸿蒙设备,吆喝一声支持老杨的产品
    乱云/Akay·2 周前·同步日历-我的第一款鸿蒙应用(鸿蒙CalDav客户端)
  • 先从减少手机使用时间开始。
    shanshan·1 月前·信息焦虑综合症
  • 所以必须得自己下定决心痛改前非,而不是跟自己讲条件。
    shanshan·1 月前·第二青春计划失败
  • 这种平台挺多的,但是应该没啥用,能有啥情绪价值比躺着刷手机更好呢?
    老杨·1 月前·第二青春计划失败
  • 已经遇到了,额外支付了170,托运登机行李,还不是托运行李。
    老杨·1 月前·春秋航空让人长见识
  • 那很好,恭喜你
    老杨·1 月前·PUA
  • 可以尝试改变。
    老杨·1 月前·信息焦虑综合症
  • 现在很多人离开AI已经不知道怎么工作了。
    老杨·1 月前·别成为AI的奴隶
  • 建议开发一个适合P人的工作生活计划平台,完不成没什么惩罚、但是完成了有大大的情绪…
    shanshan·1 月前·第二青春计划失败
  • 还有部分机型里20寸箱子应该上不了机,且没有免费行李托运额度。托运费超贵!
    shanshan·1 月前·春秋航空让人长见识
  • 这个世界精致利己主义者太多啦!
    shanshan·1 月前·人的悲喜并不相通
文章分类
选择分类
  • 人工智能13
  • 人生感悟121
    • 共产主义1
    • 能量哲学12
    • 自然辩证法12
  • 信息技术234
    • C#笔记6
    • LaTex12
    • Linux18
    • RIME4
    • Ubuntu&Debian21
    • WordPress1
    • 基于Java的B/S系统构建10
    • 开源开发2
    • 病毒相关3
    • 编程的坏习惯4
    • 网上办公系统9
  • 往事随风41
    • 我在大学那几年18
    • 童年趣事12
    • 精彩生活5
  • 情感随笔113
  • 文学创作69
    • 小说68
  • 生活记录220
    • 博士进行中6
    • 美国一年22
    • 老杨学游泳4
  • 评论杂谈169
关注公众号

COPYRIGHT © 2026 老杨说话的地方. ALL RIGHTS RESERVED.

THEME KRATOS YANG Modified BY 老杨

鲁ICP备17014997号-4

鲁公网安备 37021302000754号