使用Apache的.htaccess防盗链:
.htaccess文件将影响其所在的目录及其子目录。你可以将其放在根目录或项目的子目录上面这段代码也是很容易理解的:RewriteCond %{HTTP_REFERER} !^$ [NC]允许空的来源,即用户浏览器手动属于则允许访问文件。RewriteCond %{HTTP_REFERER} !phpddt.com [NC]允许站点自身访问,同理,后面还要允许百度,谷歌,和一些订阅源访问。RewriteRule .*.(rar|zip)$ http://www.phpddt.com/ [R,NC,L] 这里可以设置防止盗链的类型,如果盗链可以跳转到网站首页,本站没有做图片防盗链,如果你做图片防盗链可以设置被盗链的替代图片:RewriteRule .*.(gif|jpg|png)$ http://phpddt.com/logo.png [R,NC,L]
使用Apache的.htaccess就可以防盗链
标签:
小编还为您整理了以下内容,可能对您也有帮助:
如何通过htaccess防盗链
防盗链原理: http标准协议中有专门的字段记录referer 一来可以追溯上一个入站地址是什么 二来对于资源文件,可以跟踪到包含显示他的网页地址是什么。 因此所有防盗链方法都是基于这个Referer字段 网上比较多的2种 一种是使用apache文件FileMatch*,在httpd.conf中增加 ( 其实也可以将把下面的语句存成一个.htaccess文件),并放到你的网站的根目录(就是www/html目录),这样子别人就没有办法盗连你的东东了~~ SetEnvIfNoCase Referer "^ http://yahoo.com/" local_ref=1 Order Allow,Deny Allow from env=local_ref Allow from 127.0.0.1 这种很方便禁止非允许访问URL引用各种资源文件 请大家注意,把第一句"^ http://yahoo.com/"改为你的网站,比如我的网站是: http://www.linji.cn 我应该这么写的 "^ http://www.linji.cn/" 第二种是使用rewrite,需要增加apache的mode_rewrite,支持.htaccess文件目录权限* 在虚拟主机根目录增加.htaccess文件,描述从定向,把非本地地址refer的图片文件都从定向到警告图片或者警告网页上。 首先要确认你的服务器或空间的服务器解译引擎为Apache2,还有支持.htaccess客户设置文件
如何通过htaccess防盗链
防盗链原理: http标准协议中有专门的字段记录referer 一来可以追溯上一个入站地址是什么 二来对于资源文件,可以跟踪到包含显示他的网页地址是什么。 因此所有防盗链方法都是基于这个Referer字段 网上比较多的2种 一种是使用apache文件FileMatch*,在httpd.conf中增加 ( 其实也可以将把下面的语句存成一个.htaccess文件),并放到你的网站的根目录(就是www/html目录),这样子别人就没有办法盗连你的东东了~~ SetEnvIfNoCase Referer "^ http://yahoo.com/" local_ref=1 Order Allow,Deny Allow from env=local_ref Allow from 127.0.0.1 这种很方便禁止非允许访问URL引用各种资源文件 请大家注意,把第一句"^ http://yahoo.com/"改为你的网站,比如我的网站是: http://www.linji.cn 我应该这么写的 "^ http://www.linji.cn/" 第二种是使用rewrite,需要增加apache的mode_rewrite,支持.htaccess文件目录权限* 在虚拟主机根目录增加.htaccess文件,描述从定向,把非本地地址refer的图片文件都从定向到警告图片或者警告网页上。 首先要确认你的服务器或空间的服务器解译引擎为Apache2,还有支持.htaccess客户设置文件
PHP防止图片盗用(盗链)的方法小结
文章主要介绍了PHP防止图片盗用(盗链)的方法,结合实例形式分析了php通过修改Apache服务器配置及目录访问权限等方式实现图片防盗链的相关操作技巧,需要的朋友可以参考下.
本文实例总结了PHP防止图片盗用(盗链)的方法。分享给大家供大家参考,具体如下:
图片防盗链有什么用? 防止其它网站盗用你的图片,浪费你宝贵的流量。本文章向大家介绍php防止图片盗用/盗链的两种方法
一、Apache图片重定向方法
设置images目录不充许http访问
Apache服务器下防止图片盗链的办法
如果你的网站以图片为主,哪天发现月底没到流量就快用光了,那就可以利用图片转向,在不修改网页的前提下,把图片下载请求转向到其它空间(比如试用主机),临时过渡。
下面开始讲解,比如你的图片都在img目录下,那就在该目录下放一个名为 .htaccess 的文件,内容如下:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !simcole.cn [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !.com [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]
RewriteRule .(jpg|gif|png|bmp|swf|jpeg) /image/replace.gif [R,NC,L]
RewriteRule ^(.*)$ http://image.simcole.cn/image/$1 [L]
大概解释下:
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !simcole.cn [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !.com [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]
这部分是判断是否盗链,如果以上条件都成立(即访问图片的请求,既不是直接输入网址,也不是来自simcole.cn,也不是来自zhuaxia.com,也不是来自google.com,也不是来自.com,也不是来自bloglines.com 的`话),就执行下列转向:
?
1
RewriteRule .(jpg|gif|png|bmp|swf|jpeg) /image/replace.gif [R,NC,L]
意思是让所有盗链 img 目录下 jpg、gif、png、bmp、swf、jpeg 文件的网页,显示的图片都用 image 目录下的 replace.gif 图片替换掉。注意替换显示的图片不要放在设置防盗链的 img 目录下。如果照上面的规则判断出图片请求不是盗链的,就执行以下转向:
?
1
RewriteRule ^(.*)$ http://image.simcole.cn/image/$1 [L]
意思是对 img 目录下所有的请求都转向到目标服务器,比如有个图片原来的 url 是 http://www.bebecn.com/img/girl.jpg ,现在就会转到 http://image.bebecn.com/image/girl.jpg 去。当然了你得先把原服务器 img 目录下的文件统统拷贝到临时服务器的 image 目录下,转向才会真正可用。起到的效果就是把原服务器图片下载所占用的流量统统省下,让临时服务器来承受了.
设置images目录不充许http访问
把images目录设置成不充许http访问(把图片目录的:读取、目录浏览 两个权限去掉)。
用一个PHP文件,直接用file函数读取这个图片。在这个PHP文件里进行权限控制。
apache环境中,在你的图片目录中加上下面这个文件即可。
文件名 .htaccess
文件内容如下
class imgdata{
public $imgsrc;
public $imgdata;
public $imgform;
public function getdir($source){
$this->imgsrc = $source;
}
public function img2data(){
$this->_imgfrom($this->imgsrc);
return $this->imgdata=fread(fopen($this->imgsrc,'rb'),filesize($this->imgsrc));
}
public function data2img(){
header("content-type:$this->imgform");
echo $this->imgdata;
//echo $this->imgform;
//imagecreatefromstring($this->imgdata);
}
public function _imgfrom($imgsrc){
$info=getimagesize($imgsrc);
//var_mp($info);
return $this->imgform = $info['mime'];
}
}
$n = new imgdata;
$n -> getdir("1.jpg"); //图片路径,一般存储在数据库里,用户无法获取真实路径,可根据图片ID来获取
$n -> img2data();
$n -> data2img();
这段代码是读取图片,然后直接输出给浏览器,在读取和输出之前,进行用户权限判断。
这里说的PHP读取图片,不是指读取路径,而是指读取图片的内容,然后通过Header();输入图片类型,比如 gif png jpg等,下面输出图片的内容,所以用到了fread()
实际上,你看到 image.php?id=100 就是显示这张图片在浏览器上,而你查看源文件,看到的不会是图片的路径,而是乱码似的图片内容。
类似于qq空间的加密相册,只有输入密码才能访问,并且直接在浏览器输入 加密相册中的相片地址也是无法访问。我目前的想法是 图片的地址是一个php文件,通过 php 验证权限 ,读取图片,并输出,不知道除了这样的方法还有更简单高效的做法没有?比如生成临时的浏览地址,使用一些 nginx 的一些防盗链插件?
你可以利用ngx_http_auth_basic_mole来完成。
修改配置文件
location / {
root /usr/local/nginx/html;
auth_basic "Auth";
auth_basic_user_file /usr/local/nginx/conf/htpasswd;
index index.php index.htm;
}
auth_basic "Auth"中的Auth是弹出框(输入用户名和密码)的标题
auth_basic_user_file /usr/local/nginx/conf/htpasswd; 中的/usr/local/nginx/conf/htpasswd是保存密码的文件
Apache和Nginx防盗链的几种配置方法
要实现防盗链,我们就必须先理解盗链的实现原理,提到防盗链的实现原理就不得不从HTTP协议说起,在HTTP协议中,有一个表头字段叫referer,采用URL的格式来表示从哪儿链接到当前的网页或文件。换句话说,通过referer,网站可以检测目标网页访问的来源网页,如果是资源文件,则可以跟踪到显示它的网页地址。有了referer跟踪来源就好办了,这时就可以通过技术手段来进行处理,一旦检测到来源不是本站即进行阻止或者返回指定的页面。
Nginx防盗链的配置
1、nginx针对文件类型的防盗链配置方法:
location ~* .(gif|jpg|png|swf|flv|bmp)$ {
valid_referers none blocked *.xxxxx xxxxx;
if ($invalid_referer) {
#rewrite ^/ xxxx/403.html;
return 403;
}
}
这种方法是在server或者location段中加入:valid_referers none blocked,其中none表示空的来路,也就是直接访问,比如直接在浏览器打开一个文件,blocked表示被防火墙标记过的来路,*.xxxxx表示所有子域名。
2、nginx针对文件目录的防盗链配置方法:
location /img/ {
root /data/img/;
valid_referers none blocked *.xxxxx xxxxx;
if ($invalid_referer) {
rewrite ^/ 抄底 chaodiquan.com /error.gif;
#return 403;
}
}
Apache防盗链的配置
Apache 防盗链的第一种实现方法,可以用 Rewrite 实现。首先要确认 Apache 的 rewrite mole 可用:能够控制 Apache httpd.conf 文件的,打开 httpd.conf,确保有这么一行配置:
LoadMole rewrite_mole moles/mod_rewrite.so
然后在相应虚拟主机配置的地方,加入下列代码:
ServerName xxxxx
# 防盗链配置 参数
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://xxx.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://xxx$ [NC]
RewriteCond %{HTTP_REFERER} !^http://xxxxx.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://xxxx$ [NC]
RewriteRule .*.(gif|jpg|swf)$ http://xxxximg/nolink.gif [R,NC]
xxxxx 表示自己的信任站点。gif|jpg|swf 表示要保护文件的扩展名(以|分开)。nolink.gif 盗链后的重定向页面/图片。用以输出警示信息,这张图片应该尽可能的小。
有些用户使用的是虚拟主机,没有服务器的控制权,无法修改 httpd.conf 文件和重启服务器。那么请确认你的虚拟主机支持 .htaccess,将上面的配置写入 .htaccess 文件,放入根目录或图片所在的目录即可:
# 防盗链配置
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://xxxxx/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://xxxxx$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.xxxxx/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.xxxxx$ [NC]
RewriteRule .*.(gif|jpg|swf)$ http://www.xxxxx/img/nolink.gif [R,NC]
通过判断referer变量的值,判断图片或资源的引用是否合法,只有在设定范围内的 referer,才能访问指定的资源,从而实现了防盗链(Anti-Leech)的目的。需要指出的是:不是所有的用户代理(浏览器)都会设置 referer 变量,而且有的还可以手工修改 referer,也就是说,referer 是可以被伪造的。本文所讲的,只是一种简单的防护手段。当然,应付一般的盗链也足够了。
Apache和Nginx防盗链的几种配置方法
要实现防盗链,我们就必须先理解盗链的实现原理,提到防盗链的实现原理就不得不从HTTP协议说起,在HTTP协议中,有一个表头字段叫referer,采用URL的格式来表示从哪儿链接到当前的网页或文件。换句话说,通过referer,网站可以检测目标网页访问的来源网页,如果是资源文件,则可以跟踪到显示它的网页地址。有了referer跟踪来源就好办了,这时就可以通过技术手段来进行处理,一旦检测到来源不是本站即进行阻止或者返回指定的页面。
Nginx防盗链的配置
1、nginx针对文件类型的防盗链配置方法:
location ~* .(gif|jpg|png|swf|flv|bmp)$ {
valid_referers none blocked *.xxxxx xxxxx;
if ($invalid_referer) {
#rewrite ^/ xxxx/403.html;
return 403;
}
}
这种方法是在server或者location段中加入:valid_referers none blocked,其中none表示空的来路,也就是直接访问,比如直接在浏览器打开一个文件,blocked表示被防火墙标记过的来路,*.xxxxx表示所有子域名。
2、nginx针对文件目录的防盗链配置方法:
location /img/ {
root /data/img/;
valid_referers none blocked *.xxxxx xxxxx;
if ($invalid_referer) {
rewrite ^/ 抄底 chaodiquan.com /error.gif;
#return 403;
}
}
Apache防盗链的配置
Apache 防盗链的第一种实现方法,可以用 Rewrite 实现。首先要确认 Apache 的 rewrite mole 可用:能够控制 Apache httpd.conf 文件的,打开 httpd.conf,确保有这么一行配置:
LoadMole rewrite_mole moles/mod_rewrite.so
然后在相应虚拟主机配置的地方,加入下列代码:
ServerName xxxxx
# 防盗链配置 参数
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://xxx.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://xxx$ [NC]
RewriteCond %{HTTP_REFERER} !^http://xxxxx.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://xxxx$ [NC]
RewriteRule .*.(gif|jpg|swf)$ http://xxxximg/nolink.gif [R,NC]
xxxxx 表示自己的信任站点。gif|jpg|swf 表示要保护文件的扩展名(以|分开)。nolink.gif 盗链后的重定向页面/图片。用以输出警示信息,这张图片应该尽可能的小。
有些用户使用的是虚拟主机,没有服务器的控制权,无法修改 httpd.conf 文件和重启服务器。那么请确认你的虚拟主机支持 .htaccess,将上面的配置写入 .htaccess 文件,放入根目录或图片所在的目录即可:
# 防盗链配置
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://xxxxx/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://xxxxx$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.xxxxx/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.xxxxx$ [NC]
RewriteRule .*.(gif|jpg|swf)$ http://www.xxxxx/img/nolink.gif [R,NC]
通过判断referer变量的值,判断图片或资源的引用是否合法,只有在设定范围内的 referer,才能访问指定的资源,从而实现了防盗链(Anti-Leech)的目的。需要指出的是:不是所有的用户代理(浏览器)都会设置 referer 变量,而且有的还可以手工修改 referer,也就是说,referer 是可以被伪造的。本文所讲的,只是一种简单的防护手段。当然,应付一般的盗链也足够了。
Apache Web服务器.htaccess文件配置
htAccess是Apache服务器的一个配置文件,具有强大的功能,本文介绍如何编辑该文件,让网站实现封锁某国家IP网段、防止图片、文件盗链、保护主机下的目录与文件、创建自定义的出错页面、把某些特殊的IP地址的请求重定向到别的站点、把老的域名转像新的域名,这些功能。
htAccess 文件(Hypertext Access file)是Apache Web服务器的一个非常强大的配置文件,对于这个文件,Apache有一堆参数可以让你配置出几乎随心所欲的功能。
使用.htaccess挡掉搜寻引擎机蜘蛛
挡掉百度搜寻引擎
百度是传说中的暴力搜寻引擎,不遵守搜寻引擎的规则,若你尝试使用robot.txt来挡住,那非常恭喜你,绝对无效。所以一定要使用比较暴力、强硬的手段才能,因此透过.htaccess就可以处理了,如果你要挡掉一些搜寻引擎(像是百度、搜狗等),那请将以下程式码贴到htaccess.txt文件中。
word" bgColor=#fdfddf>SetEnvIfNoCase User-Agent "^Bai" bad_bot
SetEnvIfNoCase User-Agent "^sogou" bad_bot
SetEnvIfNoCase User-Agent "^Bloghoo" bad_bot
SetEnvIfNoCase User-Agent "^Scooter" bad_bot
Deny from env=bad_bot
挡掉Google搜寻引擎
如果你想要挡掉Google搜寻引擎,当然也可以透过.htaccsee挡掉,只要输入以下程式码就可以了,如果要连同暴力百度搜寻引擎一起封锁,那就把这两串程式码放在同一个htaccsee.txt文件中。
SetEnvIf User-Agent "^Googlebot" google
Deny from env=google
用.htaccess封锁某国家IP网段
有时候自己可能会规画网站的发展方向,有不欢迎某些特定的国家来访,这时候第一个想法应该是要锁该国家的IP,但是却不知从何做起?因为不知道那个国家的IP跟本不能锁,这时候可以透过「blockcountry」线上工具网站产生的htaccess语法来替自己封锁想要封锁的IP网段国家。
第1步 来到Block country() 网站首页,首先你会看到一个框框,框框中有许多国家,请您挑选要封锁的国家,可以复选,选择完成后请点击下方的_Block Now!_。
第2步 将刚刚网页上产生的程式码贴到htaccess文件中,然后储存。Apache对于被拒绝的IP会返回403错误。
用.htaccess防止图片、文件盗链
一个图文并茂的网站,最怕的就是文章转贴,虽然现一直在尊重着作权法,但还是有许多人假装没看见?许多人喜欢「复制→贴上」,但这样一个转贴动作却会对一个网站造成莫大的伤害,除了辛苦写的文章被偷走外,连图片也盗链!图片或文件被盗连最怕的就是后续的流量,为了避免这种问题,我们必须自立自强,防止盗链这种可恶的行为!
如果是cPanel虚拟主机,防盗连的方法不外乎就是到cPanel后台进行设定。如果你是其他类型的空间后台或者是说你只有FTP权限的空间,那该怎么办呢?其实只要你的空间支持.htaccess文件并且支持ReWrite,你都可以防止图片与文件的盗链!
通过.htaccess来防止网站的图片、压缩文件、或视频等非Html文件被盗链的方法相当简单,通过在该文件中加入几句命令即可保护我们宝贵的带宽。例如的设置如下:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} ! [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !.com [NC]
RewriteCond %{HTTP_REFERER} ! [NC]
RewriteRule .*.(gif|jpg)$
利用.htaccess来保护主机下的目录与文件
一般来说很多虚拟主机预设是没有开启保护网站主机目录下的文件,其实很危险的,假若你的目录下忘记放置index文件,那很可能您目录就被看光,一个不小心很可能重要资料就被拿走,这是蛮严重的一件事情。如果是Linux主机,我们可以透过简易的.htaccess语法来保护网站主机目录下的文件,让别人无法轻易看见。
平常我们使用的最简单保护目录的方法,莫过于使用「index.php」、「index.html」等等之类的网站index文件,因为主机内预设的设定在目录中预设就是要抓index文件,而index文件通常会有很多种,主机会依续排列下来抓取,所以可以设定index文件来让主机抓取,以达到保护目录的效果。但如果主机需要的index文件没有一个存在,这时候主机就会直接显示目录内的东西了,因为主机不知道要抓取谁当作主要网页,所以会全部显示。
虽然使用index文件来保护目录是可行的,但是每个子目录都需要传一个index文件其实蛮累人的,这时候我们就可以利用「.htaccess」来批量处理。
Options -Indexes
语法的进阶使用
当然该语法还有其他相关的用途,以下列出简单的几项供大家参考使用,如果你觉得以下的语法不是你想要或是想学更多,你可以到Apache官方网站来看看英文说明书,查看看还有什么关于「indexoptions」的用途或是其他不错的功能喔!
Options +Indexes:显示目录下所有文件
Options -Indexes:隐藏目录下所有文件 (上面已经介绍过)
IndexOptions +FancyIndexing:显示目录下所有文件,文件前面包含档案类型的小图示
IndexOptions -FancyIndexing : 显示目录下所有文件,但不包含文件类型的小图示
IndexIgnore *.php *.exe:隐藏特定的文件, 其余文件正常显示(隐藏所有的php和exe文件)
使用.htaccess 创建自定义的出错页面
对于Linux Apache来说这是一项极其简单的事情。使用下面的.htaccess语法你可以轻松的完成这一功能。(把.htaccess放在你的网站根目录下)
ErrorDocument 401 /error/401.PHP
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php
把某些特殊的IP地址的请求重定向到别的站点
ErrorDocument
Order deny,allow
Deny from all
Allow from 124.34.48.165
Allow from 102.54.68.123
把老的域名转像新的域名
# redirect from old domain to new domain
RewriteEngine On
RewriteRule ^(.*) $$1 [R=301,L]
.htaccess文件的常见用法(301、404等配置)
body{
line-height:200%;
}
.htaccess文件的常见用法(301、404等配置)
.htaccess文件是apache服务器中的一个配置文件,它的功能是网站目录的配置。通过.htaccess文件,可以实现以下功能:网页301重定向、防盗链、自定义404错误页面、用户认证和授权、禁止目录列表、配置默认文档等功能。
.htaccess文件实现301重定向
RewriteEngine
on
rewritecond
%{http_host}
^zzidc.com[nc]
rewriterule
^(.*)$
http://zzidc.com/$1
[L,R=301]
.htaccess文件实现404
<Files
~
"^.(htaccess|htpasswd)$">
deny
from
all
</Files>
ErrorDocument
404
/404.html
//此段为功能代码
order
deny,allow
.htaccess文件实现用户认证和授权
AllowOverride
None
//不使用“.htaccess文件”
AuthType
Basic
//认证类型为基本认证
AuthName"this
is
a
test
directory.
please
login:"
//设置认证领域说明
AuthUserFile/etc/httpd/mypasswd
//指定认证口令文件的所在目录和名称
Require
valid-user
//授权给认证口令文件中的所有用户
.htaccess文件实现防盗链
RewriteEngine
on
RewriteCond
%{
HTTP_REFERER
}
!^$
RewriteCond
%{
HTTP_REFERER
}
!^http://(www.)?mydomain.com/.*$
[NC]
RewriteRule
.(gif&line;jpg)$
http://www.mydomain.com/替代名
[R,L]
.htaccess文件禁止目录列表
<Files
~
".*">
Order
allow,deny
Deny
from
all
</Files>
Options
-Indexes
//此段为功能代码
.htaccess文件配置默认文档
<Files
~
"^.(htaccess|htpasswd)$">
deny
from
all
</Files>
DirectoryIndex
index.html
index.php
//此段为功能代码
order
deny,allow
推荐阅读:iis安全防盗链设置
.htaccess文件的常见用法(301、404等配置)
body{
line-height:200%;
}
.htaccess文件的常见用法(301、404等配置)
.htaccess文件是apache服务器中的一个配置文件,它的功能是网站目录的配置。通过.htaccess文件,可以实现以下功能:网页301重定向、防盗链、自定义404错误页面、用户认证和授权、禁止目录列表、配置默认文档等功能。
.htaccess文件实现301重定向
RewriteEngine
on
rewritecond
%{http_host}
^zzidc.com[nc]
rewriterule
^(.*)$
http://zzidc.com/$1
[L,R=301]
.htaccess文件实现404
<Files
~
"^.(htaccess|htpasswd)$">
deny
from
all
</Files>
ErrorDocument
404
/404.html
//此段为功能代码
order
deny,allow
.htaccess文件实现用户认证和授权
AllowOverride
None
//不使用“.htaccess文件”
AuthType
Basic
//认证类型为基本认证
AuthName"this
is
a
test
directory.
please
login:"
//设置认证领域说明
AuthUserFile/etc/httpd/mypasswd
//指定认证口令文件的所在目录和名称
Require
valid-user
//授权给认证口令文件中的所有用户
.htaccess文件实现防盗链
RewriteEngine
on
RewriteCond
%{
HTTP_REFERER
}
!^$
RewriteCond
%{
HTTP_REFERER
}
!^http://(www.)?mydomain.com/.*$
[NC]
RewriteRule
.(gif&line;jpg)$
http://www.mydomain.com/替代名
[R,L]
.htaccess文件禁止目录列表
<Files
~
".*">
Order
allow,deny
Deny
from
all
</Files>
Options
-Indexes
//此段为功能代码
.htaccess文件配置默认文档
<Files
~
"^.(htaccess|htpasswd)$">
deny
from
all
</Files>
DirectoryIndex
index.html
index.php
//此段为功能代码
order
deny,allow
推荐阅读:iis安全防盗链设置
网站防盗链怎么解决?
盗链网站无法下载,报盗链的问题。
要下载这类文件最简单的方法就是改referer。
比方flashget中,网址下面的"引用"一栏中,直接填写下载地址就可以了。
防盗链原理:
http标准协议中有专门的字段记录referer,
一来可以追溯上一个入站地址是什么,二来对于资源文件,可以跟踪到包含显示他的网页地址是什么。
因此所有防盗链方法都是基于这个Referer字段,网上比较多的2种,一种是使用apache文件FileMatch*,在httpd.conf中增加 ( 其实也可以将把下面的语句存成一个.htaccess文件),并放到你的网站的根目录(就是www/html目录),这样子别人就没有办法盗连你的东东了。
etEnvIfNoCase Referer "http://yahoo.com/" local_ref=1,Order Allow,Deny,Allow from env=local_ref,allow from 127.0.0.1 。
这种很方便禁止非允许访问URL引用各种资源文件。
请大家注意,把第一句" http://yahoo.com/"改为你的网站,比如我的网站是: http://www.linji.cn。
网站防盗链怎么解决?
盗链网站无法下载,报盗链的问题。
要下载这类文件最简单的方法就是改referer。
比方flashget中,网址下面的"引用"一栏中,直接填写下载地址就可以了。
防盗链原理:
http标准协议中有专门的字段记录referer,
一来可以追溯上一个入站地址是什么,二来对于资源文件,可以跟踪到包含显示他的网页地址是什么。
因此所有防盗链方法都是基于这个Referer字段,网上比较多的2种,一种是使用apache文件FileMatch*,在httpd.conf中增加 ( 其实也可以将把下面的语句存成一个.htaccess文件),并放到你的网站的根目录(就是www/html目录),这样子别人就没有办法盗连你的东东了。
etEnvIfNoCase Referer "http://yahoo.com/" local_ref=1,Order Allow,Deny,Allow from env=local_ref,allow from 127.0.0.1 。
这种很方便禁止非允许访问URL引用各种资源文件。
请大家注意,把第一句" http://yahoo.com/"改为你的网站,比如我的网站是: http://www.linji.cn。
防盗链是什么意思?有什么作用?
1、防盗链其实就是采用服务器端编程,通过url过滤技术实现的防止盗链的软件。此内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容。
2、作用:可以防止盗窃活动和暴力袭击。
防盗链的实现方法:
1、如果想对自己的网站进行防盗链保护,则需要针对不同的情况进行区别对待。如果网站服务器用的是apache,那么使用apache自带的Url Rewrite功能可以很轻松地防止各种盗链,其原理是检查refer,如果refer的信息来自其他网站则重定向到指定图片或网页上。
2、如果服务器使用的是IIS的话,则需要通过第三方插件来实现防盗链功能了,现在比较常用的一款产品叫做ISAPI_Rewrite,可以实现类似于apache的防盗链功能。另外对于论坛来说还可以使用“登录验证”的方法进行防盗链。
反盗链的预防措施
1、不定期更名文件或者目录
不定期的更改文件或者目录的名称,是最原始的反盗链的方式,可以比较有效地防止盗连,这种方法一般工作量比较大。但是批量的文件改名是完全可以自动化的,而且也比较容易实现。在文件的更名过程中, 可能会有客户正在下载该文件,这样会导致正常的客户访问失败,尽管这个问题容易解决,但是也不能够忽视。
2、引用页
这种防盗链原理是,服务器获取用户提交信息的网站地址,然后和真正的服务端的地址相比较,如果一致则表明是站内提交,或者为自己信任的站点提交,否则视为盗链。实现时可以使用HTTP_REFERER1 和htaccess 文件(需要启用mod_Rewrite),结合正则表达式去匹配用户的每一个访问请求。对于每一个HTTP 请求, 服务器都要查找.htaccess 文件,增加了读取文件的次数,一定程度上降低了性能。另外,服务器打开这个功能,有比较多的。
3、文件伪装
文件伪装是目前用得最多的一种反盗链技术,一般会结合服务器端动态脚本(PHP/JSP/ASP)。实际上用户请求的文件地址,只是一个经过伪装的脚本文件,这个脚本文件会对用户的请求作认证,一般会检查Session,Cookie 或HTTP_REFERER 作为判断是否为盗链的依据。而真实的文件实际隐藏在用户不能够访问的地方,只有用户通过验证以后才会返回给用户。
4、加密认证
这种反盗链方式,先从客户端获取用户信息,然后根据这个信息和用户请求的文件名字一起加密成字符串(Session ID)作为身份验证。只有当认证成功以后,服务端才会把用户需要的文件传送给客户。一般我们会把加密的Session ID 作为URL 参数的一部分传递给服务器,由于这个Session ID 和用户的信息挂钩,所以别人就算是盗取了链接,该Session ID 也无法通过身份认证,从而达到反盗链的目的。这种方式对于分布式盗链非常有效。
5、随机附加码
每次,在页面里生成一个附加码,并存在数据库里,和对应的图片相关,访问图片时和此附加码对比,相同则输出图片,否则输出404图片