标签:协议 http rewrite referer 服务器 重写 防盗链
详细可参考:http://www.360doc.cn/article/19913882_843484245.html
做用减少服务器的消耗
使用HTTP协议。利用referer做防盗链(不需要用php编写,而是在服务器层面控制就OK了)
我们在网页里访问站外的图片的时候,在图片本站是可以看得,在外头就不能看了
因为header信息中的referer元素。
还有是做统计的时候,
我们能够统计出来用户是从哪个地方,什么时间访问网站的。比如腾讯分析网站
统计的时候是靠什么知道用户从什么地方去的网站
在HTTP协议中 头信息中有一个很重要的选项 referer
referer 表示的是网页的来源以及上一页的地址
如果直接在浏览器输入地址,进入网站,则没有referer头信息
所以,服务器可根据referer来知道用户从哪个网站进来的和图片是从哪个网站进来的
利用referer头信息来设置防盗链的具体操作步骤如下:
/**如何配置apache服务器。用于图片防盗链(使用url重写)
在web服务器层面,我们可以在http协议的referer头信息来判断,
如果来自站外,则统一重写到一个很小的防盗链提醒图片上去步骤:
1.打开 apache 重写模块 mod_rewrite#LoadModule rewrite_module modules/mod_rewrite.s把#去掉,重启apache
2.在需要防盗的网站或者目录下,写 .htaccess 文件(windows下不能直接创建,可以另存)并指定防盗链规则分析referer信息,如果不是来自本站,则重写**/重写规则 .htaccess 文件
哪种情况重写规则
1.是jpeg/gif/png图片的时候 是referer头与localhost不匹配的时候
2.怎么重写 统一 rewrite 到某个防盗链图片上
.htaccess
RewriteEngine On
//只是在改页面下生效
Rewrite Base /HTTPxieyi/day1
//会对以下格式的文件进行重写规则
RewriteCond %{REQUEST_FILENAME} .*\.(jpg|jpeg|gif|png) [NC]
//如果不是来自localhost的用户,会重写
RewriteCond %{HTTP_REFERER} !localhost [NC] //会重写到自学it网的logo上 RewriteRule .* http://www.zixue.it/static/image/common/zixuelogo.png
html的具体代码如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>防盗链</title>
</head>
<body>
<p>
<img src="http://imgsrc.baidu.com/forum/w%3D580%3B/sign=5547962a02d162d985ee621421e4a8ec/0d338744ebf81a4c06403427df2a6059242da6ea.jpg" alt="">
</p>
</body>
</html>
标签:协议,http,rewrite,referer,服务器,重写,防盗链 来源: https://www.cnblogs.com/hcly/p/14220948.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。