科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道保护网络服务器安全 禁止网站被盗链

保护网络服务器安全 禁止网站被盗链

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

现在做网站,都会遇到盗链的问题,包括图片盗链、音乐或视频文件(如mp3、Flash等)盗链.相信很多朋友都曾遇到过网站内文件特别是图片被盗链的情况烦。我们下面就是对这个问题来分析一下原理和解决方法。

来源:比特网 2009年4月12日

关键字: Web安全 网站安全 服务器安全

  • 评论
  • 分享微博
  • 分享邮件

  现在做网站,都会遇到盗链的问题,包括图片盗链、音乐或视频文件(如mp3、Flash等)盗链.相信很多朋友都曾遇到过网站内文件特别是图片被盗链的情况烦。我们下面就是对这个问题来分析一下原理和解决方法。

  所谓盗链:是指对方网站直接链接您网站上的文件,而不是将其置于自己的服务器上,一般而言,盗链的对象大多为较耗带宽的大体积文件,如图片、视频等,从某种意义上说,这事实上造成了让您为其访问流量买单:不仅您的服务器带宽被无任何回报地占用,而且,往往会在很大程序上影响您网站的访问速度。

  如何盗链:只要用最基本的html知识,比如在发布的文章中使用img嵌套一个图片,href链接一个文件下载等.

  反盗链的原理和实现方法:判断Referer头是不是自己的域名,如我过一会要讲的apache禁止图片盗链的实现,就用了这个方法.

  下面我们就以图片为例子来说明这个.

  实现目的:我们要实现的是不仅屏蔽/禁止非本网站的盗链访问,还将盗链请求转给自身的网站,让读者知道谁是真正的发布者(图片源网站)

  设置 apache的rul重写功能如加入下面的设置到.htaccess,来实现这个功能. 禁止图片盗链.

  RewriteEngine on

  打开重写url

  RewriteCond %{REQUEST_URI} !^/allow/.*$Content$nbsp;

  排除的url.这个相当的重要,因为后面的referer过滤时会过滤这些.所以打开这个可以"盗链",这样才能让用户正确的显示出错的网站.

  RewriteCond %{REQUEST_FILENAME} \.(gif|jpeg|png|jpg)$Content$nbsp;[NC]

  以上为判断是否为图片文件:您也可以根据自己的需要设置更多的文件类型。也可以是exe之类

  RewriteCond %{HTTP_REFERER} !^$Content$nbsp;

  上面这一行意在允许空"HTTP_REFERER"的访问,即允许用户在浏览器地址栏中直接输入图片地址时图片文件的显示。建议,如果强迫必须具有"HTTP_REFERER"才能访问,可能会带来某些问题,比如直接在url地址栏中输入地址

  RewriteCond %{HTTP_REFERER} !chinaitlab\.com [NC]

  RewriteCond %{HTTP_REFERER} !google\.com [NC]

  RewriteCond %{HTTP_REFERER} !baidu\.com [NC]

  设置允许访问的HTTP来源,包括网站自身、Google、Baidu、等。

  RewriteRule (.*) /allow/error.gif [R=301,NC,L]

  将不满足referer条件的访问重定向至error.gif。有没有发现error.gif位于允许"盗链"的目录allow中,要相当注意,不然,警告信息和图片将无法在对方网站上显示。

  如上,就实现了我们要的功能。不仅屏蔽/禁止非本网站的盗链访问,还将盗链请求转给自身的网站,让读者知道谁是真正的发布者(图片源网站)

  其他类型文件的防盗链设定

  如果您的网站上存在其他类似体积较大较耗费带宽的文件如flash、mp3被其他网站盗链,可以同样采取上述策略,比如说,对Flash文件,可用类似如下的设置:

  RewriteCond %{REQUEST_URI} ^/allow

  RewriteCond %{REQUEST_FILENAME} \.swf$Content$nbsp;[NC]

  RewriteCond %{HTTP_REFERER} !^$

  RewriteCond %{HTTP_REFERER} !chinaitlab\.com [NC]

  RewriteRule (.*) /allow/error.swf [R=301,NC,L]

  当然,需要事先有声明版权信息的flash文件"error.swf"。其他如mp3文件、压缩文件(zip或rar)盗链的设置和这个一样。

  当然,以上讲的referer有可能有高手造假,那我们还有更加高级的方法.比如加上User-Agent等别的头判断,如Cookie判断等 记录比对来过的IP,控制访问页面时设置session,在访问图片等时判断是否来过等方法.

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章