- 浏览: 60275 次
- 性别:
- 来自: 深圳
最新评论
背景:今天为了了解高并发,大访问量的技术中,有提到防盗链这块,就先整理清楚这块的内容..
什么是盗链?(具体请参考)
http://www.cnblogs.com/AngelLee2009/archive/2011/10/13/2209594.html
第一部分:如何防盗链
第一种方式,通过服务器配置来禁止非法访问,我这里要以Nginx配置为例;
具体请参考:http://blog.csdn.net/longjef/article/details/53284108
第二种方式: 通过动态防护处理的方式,但是可能会影响网站的性能;
第二部分: 如何盗链
无非就是动态模拟头部等方式去读取内容,如果系统做了第二种动态防护的方式,就得想其他的方式了,目前没有好想法~_~
代码:
nginx配置防盗链
location ~* \.(gif|jpg|jpeg|png|bmp|swf)$ {
valid_referers none blocked my_mobile.com ;
if ($invalid_referer) {
return 403;
}
}
盗链防护代码
<!--正常的图片访问方式-->
<img src="http://my_mobile.com/static/images/getheadimg.jpg">
<!--防盗链的图片访问方式-->
<img src="http://my_mobile.com/test/get_img?id=xxx">
//这里只是举个简单的例子,至于id验证,逻辑判断和面向对象写法,自己实际去做的时候去优化
//实际路由,请自己复制代码到项目中进行测试
public function get_img($img_name='getheadimg.jpg') {
$file_name = FCPATH."/static/images/".$img_name;
$img_data = fread(fopen($file_name,'rb'),filesize($file_name));
$img_info = getimagesize($file_name);
header("content-type:{$img_info['mime']}");
echo $img_data;
}
盗链代码
//PHP如何盗链
public function index() {
//第一种情况:没做防盗链处理的盗链方式,直接访问就可以了
// echo '<img src="http://my_mobile.com/static/images/add.png">';
//第二种情况: 做了nginx防盗链处理的盗链方式,还是可以盗链
$url="http://my_mobile.com/static/images/getheadimg.jpg";
//方式一
// $dir = pathinfo($url);
// $refer = $dir['dirname'].'/';
// $ch = curl_init($url);
// curl_setopt ($ch, CURLOPT_REFERER, $refer);
// curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
// $data = curl_exec($ch);
// curl_close($ch);
// header("Content-type: image/jpeg");
// print( $data );
//方式二:
header('Content-type: image/jpeg');
echo file_get_contents($url);
}
什么是盗链?(具体请参考)
http://www.cnblogs.com/AngelLee2009/archive/2011/10/13/2209594.html
第一部分:如何防盗链
第一种方式,通过服务器配置来禁止非法访问,我这里要以Nginx配置为例;
具体请参考:http://blog.csdn.net/longjef/article/details/53284108
第二种方式: 通过动态防护处理的方式,但是可能会影响网站的性能;
第二部分: 如何盗链
无非就是动态模拟头部等方式去读取内容,如果系统做了第二种动态防护的方式,就得想其他的方式了,目前没有好想法~_~
代码:
nginx配置防盗链
location ~* \.(gif|jpg|jpeg|png|bmp|swf)$ {
valid_referers none blocked my_mobile.com ;
if ($invalid_referer) {
return 403;
}
}
盗链防护代码
<!--正常的图片访问方式-->
<img src="http://my_mobile.com/static/images/getheadimg.jpg">
<!--防盗链的图片访问方式-->
<img src="http://my_mobile.com/test/get_img?id=xxx">
//这里只是举个简单的例子,至于id验证,逻辑判断和面向对象写法,自己实际去做的时候去优化
//实际路由,请自己复制代码到项目中进行测试
public function get_img($img_name='getheadimg.jpg') {
$file_name = FCPATH."/static/images/".$img_name;
$img_data = fread(fopen($file_name,'rb'),filesize($file_name));
$img_info = getimagesize($file_name);
header("content-type:{$img_info['mime']}");
echo $img_data;
}
盗链代码
//PHP如何盗链
public function index() {
//第一种情况:没做防盗链处理的盗链方式,直接访问就可以了
// echo '<img src="http://my_mobile.com/static/images/add.png">';
//第二种情况: 做了nginx防盗链处理的盗链方式,还是可以盗链
$url="http://my_mobile.com/static/images/getheadimg.jpg";
//方式一
// $dir = pathinfo($url);
// $refer = $dir['dirname'].'/';
// $ch = curl_init($url);
// curl_setopt ($ch, CURLOPT_REFERER, $refer);
// curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
// $data = curl_exec($ch);
// curl_close($ch);
// header("Content-type: image/jpeg");
// print( $data );
//方式二:
header('Content-type: image/jpeg');
echo file_get_contents($url);
}
发表评论
文章已被作者锁定,不允许评论。
-
苹果开发者账号申请流程
2019-03-20 20:31 706一、 开发者账号类型选择 邓白氏码 DUNS number,是 ... -
502网关错误之一
2018-05-22 23:16 4482018/05/22 23:23:38 [error] 215 ... -
svn创建新项目与授权
2017-07-27 17:50 487(1)查找Svn Serve 安装目录 ps -aux | g ... -
top, vmstat 命令
2017-05-18 15:35 470top: 各个进程占用系统资源的排行 作用主要用来监控系统实时 ... -
linux安装php redis扩展详细步骤
2017-04-27 23:13 548文章背景: 因为架构workerman框架,写redis底层服 ... -
centos下源码安装php的详细步骤
2017-03-16 17:05 709背景: 因为要写PHP扩展,之前用的是yum安装lnmp,本次 ... -
ubuntu下netbeans字体抗锯齿设置
2014-10-10 13:10 658自从开始使用ubuntu 11.10以来。netbeans ... -
nginx重载配置
2014-09-15 10:53 688/usr/local/nginx/sbin/nginx -t ... -
nginx 安装
2014-09-14 22:14 0(1)sudo apt-get install nginx ( ... -
sed-i(替换字符串),直接操作文件
2013-12-30 18:48 1751sed -i "1546s/\$\_GET\['la ... -
linux下给phpcurl安装、gd(ubuntu)
2013-11-23 11:48 624先查看自己的php5是否已经安装了curl。方法如下:1.在 ... -
LINUX 版QQ安装方法(待测试)
2013-10-12 15:24 576LINUX 版QQ安装方法 sudo add-apt-re ... -
OWA扫描工具
2013-10-09 21:00 985Ubuntu下安装扫描工具: https://www ... -
ubunt配置虛你域名步驟
2013-09-30 12:31 710配置SSL http://www.linuxidc.co ... -
ubuntu 定时执行php
2013-07-15 11:04 669Ubuntu下使用crontab为PHP建定时任务 ... -
linux中查看文件时显示行号
2013-07-15 11:05 1917[root@1-min etc]# cat -n rsys ... -
linux使用过的命令
2013-07-15 11:10 504查找当前目录下.svn 为结尾的文件并且删除find . ... -
linux笔记
2013-12-30 18:46 422笔记一:#!/bin/bash# Program:# Pr ... -
ubuntu 12.04 安装phpmyadmin
2013-05-21 10:29 857第一步: sudo apt-get install liba ... -
Ubuntu 10.04 下安装 NetBeans (FOR PHP)最新版全程图解
2013-05-16 12:54 1026NetBeans目前是Java界最流行的开源Java ID ...
相关推荐
防盗链的概念是指在自己的服务器上,通过技术手段将其他网站的内容(比如一些音乐、图片、软件的下载地址)放置在自己的网站中,通过这种方法盗取其他网站的空间和流量。防盗链是一种不道德的行为,会对原网站造成很...
在互联网上,图片防盗链是一种常见的保护措施,用于防止他人未经许可直接引用网站上的图片资源。这导致了图片采集过程中可能会遇到图片无法显示的问题。本文将深入探讨如何使用PHP来破解防盗链,以便在采集图片时能...
图片盗链是互联网内容分享过程中经常遇到的一个问题,尤其是当原网站启用了防盗链机制时,未经允许的图片链接将无法正常显示。下面详细分析该问题的解决方案,并提供在不同浏览器中浏览盗链图片的方法。 首先,了解...
网站防盗链技术是一种防止其他网站未经许可盗用你服务器上资源的方法,比如图片、视频或文件等。在IIS(Internet Information Services)7.0和7.5版本中,可以通过设置HTTP响应标头和URL筛选器来实现防盗链功能。...
为了实现图片防盗链,根据网络上搜集的资料加上自己的实践,终于实现了iis下的图片防盗链功能。 实施步骤: 1.下载比较出名的www.helicontech.com提供的ISAPI Rewrite软件的免费版本(免费版本虽然有一些功能上...
这是一个不错的破解图片盗链JS。利用html就可以破解盗链。
【IIS防盗链详解】 ...总的来说,IIS防盗链是一种有效的资源保护策略,通过合理的配置,可以有效地保护音乐、图片等资源免受盗链困扰。同时,管理员需要定期评估和调整防盗链策略,以适应不断变化的安全环境。
3. **日志记录**:纵横IIS防盗链嗅探狗能够记录所有防盗链相关的活动,帮助管理员了解哪些站点在尝试盗链,以及防盗链规则的效果,便于进一步优化安全策略。 4. **实时监控**:该工具会实时监控IIS服务器上的所有...
《WBAL防盗链工具 v0.1》是一款专为ASP.NET环境设计的防盗链解决方案,旨在保护网站资源不被未经授权的第三方非法获取和利用。在IIS(Internet Information Services)服务器上部署此工具,可以有效地防止其他网站...
微信图片防盗链问题源于微信对自身内容保护的措施,它限制了外部网站直接引用微信服务器上的图片资源。当用户尝试在非微信环境中分享或转载微信文章中的图片时,这些图片通常无法正常显示。为了解决这个问题,我们...
本篇文章将深入探讨如何利用Node.js创建一个FileTransferServer,用于解决图片防盗链的问题。 **一、防盗链图片问题** 防盗链,即防止其他网站未经许可直接引用你的服务器上的资源,特别是图片,以节省自己的带宽...
在互联网上,特别是对于那些提供图片、视频或者下载服务的网站,防盗链措施至关重要,因为这直接影响到服务器的性能和运营成本。 ASP.Net是微软公司推出的一种Web应用程序框架,它为开发者提供了构建动态、数据驱动...
然而,IIS默认设置并不包含防止图片盗链的功能,这就需要额外的解决方案,例如“亦梦IIS图片防盗链”插件。 这款插件的工作原理是检查HTTP请求头中的`Referer`字段,该字段通常包含发送请求的页面URL。当外部网站...
例如,如果你希望保护所有图片资源不被外链,只需将".jpg", ".png"等图片文件类型加入防盗链规则。同时,设置特定关键词也能确保只有符合规则的链接才能正常访问,增强了防护的灵活性和针对性。 此外,呆呆防盗链...
然而,需要注意的是,防盗链并不能完全防止所有的盗链行为,因为有些高级的攻击者可能会通过伪造`Referer`头来绕过防护。因此,结合其他安全措施,如IP黑白名单、用户认证等,可以进一步提高资源的安全性。
在FineReport报表软件和决策系统相结合的情况下,若要防止报表内容被非法传播和盗用,就需要引入防盗链技术。 在防盗链技术中,一个常见的策略是检查HTTP请求头中的Referer字段。Referer字段会告知服务器发出请求的...
例如,大型网站可能同时使用Referrer检查、Token验证和CDN策略来防止图片盗链。 参考链接提供的博客(由于链接无法直接访问,此处无法提供具体内容),博主可能详细解释了这些技术的实现步骤、优缺点以及一些实际...
ASP.NET网站防盗链技术是为了防止网站上的资源,如图片、视频、音频或文件等,被其他网站未经许可直接引用,从而导致流量损失和版权问题。本文将深入探讨如何实现ASP.NET中的防盗链代码,以及其背后的原理。 首先,...
在Web开发中,防盗链(Anti-Linking)技术是一个关键的安全措施,它防止恶意网站未经许可引用或显示您的服务器上的资源,如图片、视频等。本教程将深入讲解如何在C# ASP.NET环境中实现一个防盗链模块。 首先,让...
本主题主要探讨如何“破解图片反盗链”,涉及ASP、JSP和PHP三种Web开发语言的解决方案。 首先,我们需要理解图片反盗链的基本原理。通常,服务器会检查请求图片的来源(Referer头),如果发现来源不是预期的网站,...