php 通过referer防盗链(以图片为例)
2015-07-09 09:53
405 查看
1、在网页里访问站外图片时,服务器如何知道是在站外引用的呢?
(1)对比本服务器请求与跨服务器请求
图一——本服务器请求
图二——显示盗链的referer信息
通过对比也就知道referer显示的是引用的站外资源
2、本网站是如何统计用户的来源的呢?
具体步骤: 访问网站=》建立一个html=》运行html=》对比出现一个referer=》分析服务器资源的来源
3、如何配置apache服务器用于图片防盗链?
(1)打开apache重写模块mod_rewrite
(2)在需要防盗链的目录或网站下写 .htaccess并指定防盗链规则
分析referer=》分析图片名=》如果的jpg|jpeg|gif|png则重写=》分析http协议=》如果不是localhost则重写=》制定重写规则
4、如何伪造referer?
法1:在php中 $SERVER['referer']!=='localhost';
header(no.png);
分析:仍然占用带宽,不采纳!
法2:伪造referer
require('./http.class.php');
$http=new Http('http://localhost/tan/a.jpg');
$http->setheader;
$res=$http->get();
file_put_contents(strtr(strtr($res,"\r\n"),2));
(1)对比本服务器请求与跨服务器请求
图一——本服务器请求
图二——显示盗链的referer信息
通过对比也就知道referer显示的是引用的站外资源
2、本网站是如何统计用户的来源的呢?
具体步骤: 访问网站=》建立一个html=》运行html=》对比出现一个referer=》分析服务器资源的来源
3、如何配置apache服务器用于图片防盗链?
(1)打开apache重写模块mod_rewrite
(2)在需要防盗链的目录或网站下写 .htaccess并指定防盗链规则
分析referer=》分析图片名=》如果的jpg|jpeg|gif|png则重写=》分析http协议=》如果不是localhost则重写=》制定重写规则
4、如何伪造referer?
法1:在php中 $SERVER['referer']!=='localhost';
header(no.png);
分析:仍然占用带宽,不采纳!
法2:伪造referer
require('./http.class.php');
$http=new Http('http://localhost/tan/a.jpg');
$http->setheader;
$res=$http->get();
file_put_contents(strtr(strtr($res,"\r\n"),2));
相关文章推荐
- js处理title超长问题
- jquery.map()方法的使用详解
- 使用jquery-mockjax模拟ajax请求做前台测试
- 【CODE】js转换时间格式:将时间转换成自己想要的格式
- js默认行为(也称默认事件)
- jQuery实现鼠标点击弹出渐变层的方法
- IE6浏览器下如何div的高度
- javascript+ajax实现产品页面加载信息
- IE6浏览器下设置div的高度
- innerHTML和innerText的用法(动态改变网页内容)
- 解决找不到okio.buffer.writeUTF8CodePoint 的方法
- jsrender-for循环中访问父属性
- 浅谈JavaScript中null和undefined
- JavaScript 时间戳和时间相互转换
- Dialog样式的Activity
- 兼容各大浏览器的JavaScript阻止事件冒泡代码
- 如何写一个JQuery函数($.fn.function **)
- 前端开发chrome与fireFox浏览器都使用
- 在HTML中优雅的生成PDF
- JS 封装 Map对象