3种经常使用的防盗链的方式

场景说明:网站访问人数不多,可是网页访问很慢,颇有可能被盗链了,若是网页被盗链,web服务器的访问日志里会发现疯狂的访问请求正从四面八方涌过来,web服务器为了迎接这批访客而没有时间处理正常的页面,这种情况可能会一直持续好几个周时间。php

被盗链的几种可能状况html

一、在人气很是旺的网站、论坛、社区的网页里直接引用了(使用标记)你网站上的图片,或者直接在其余网页(使用flash或媒体播放插件)里嵌入了你网站上的mp3。
二、在人气很是旺的网站、论坛、社区里提供了你的资源的下载地址。
三、你网站的资源可能被一些下载软件列入了“资源候选名单”,当其余人用下载工具下载相同的文件时,下载软件会自动找上门而且从你的服务器下载。
web

解决方式浏览器

一、判断引用地址服务器

 

所谓判断引用地址,就是判断浏览器请求时HTTP头的Referer字段的值,这个值在php里面能够用 $_SERVER['HTTP_REFERER']属性取得。几个例子来讲,在正常状况下当用户在浏览 http://1111.com/abc.html 时点击一个连接去到 http://222.com/jacky.mp3 文件时,浏览器在发出请求jacky.mp3 资源时还会附带当刻浏览器所处的页面地址(即http://1111.com/abc.html),因此当你的网站程序接收到下载 jacky.mp3 资源请求的时候,先判断http的referer字段的值,若是是从 本身的域名(222.com)过来的,则能够认为是合法的链接请求,不然就返回一个错误的提示信息。工具

 

这种方法一般用于图片、 mp3这种容易被人用html“嵌入”到其余网站的资源,使用这种方法能够防止你的图片直接出如今别人的网页里(或者防止mp3直接被其余网站嵌入到 flash播放器里),不过访客使用下载工具仍是能够轻松下载,由于如今的下载工具通常会自动用你的域名构造一个引用地址,因此若是想再进一步防范的话,可使用一个对应表限制每一个资源的引用地址,例如将 jacky.mp3 的引用地址限制为 http://222.com/11.htmlid=12345,这样下载工具就不太可能构造一个“正确”的引用地址了。网站

二、使用登陆验证spa

这个方法常见于论坛、社区。当访客请求网站上的一个资源时,先判断此请求是否经过登陆验证,若是还没有登陆则返回一个错误提示信息。插件

三、使用图形验证码日志

使用这个方法能够保证每次下载都是“人”在你的网站上下载,而不是下载工具。由于网上不少介绍使用图形验证码的方法,因此这里就再也不重复了。这个方法的缺点是比较容易让正常的用户感到麻烦。

相关文章
相关标签/搜索