php判断远程图片是否防盗链

function checkpic($url){
        $curl = curl_init($url);//设置url
        curl_setopt($curl, CURLOPT_REFERER, ‘http://‘.$_SERVER[‘SERVER_NAME‘].$_SERVER["REQUEST_URI"]);//伪装referer(正常在地址栏输入网址能打开,因为referer是空的,而在网页中用 src 打开时referer是有内容的所以打不开,referer内容可以到浏览器控制台查看,这一步就是假装是我们的网页内打开的,来判断图片是否设置了防盗链)
        curl_setopt($curl, CURLOPT_HEADER, 1); //获取Header
        curl_setopt($curl,CURLOPT_NOBODY,true); //因为我们只需要Header,所以Body就不要了吧
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //数据存到成字符串吧,别给我直接输出到屏幕了
        $data = curl_exec($curl); //开始执行啦~

        $status=curl_getinfo($curl,CURLINFO_HTTP_CODE); //获得HTTPSTAT码
        curl_close($curl); //用完记得关掉他
        return ($status==200)?true:false;//如果状态码是200返回真,那状态码是403自然就返回假了。
}
时间: 2024-11-08 00:07:31

php判断远程图片是否防盗链的相关文章

PHP判断远程图片或文件或url是否存在-180

我通常使用curl判断判断远程图片或文件是否存在: /**     * @link http://www.phpddt.com     */    function url_exists($url) {        $ch = curl_init();         curl_setopt ($ch, CURLOPT_URL, $url);         //不下载        curl_setopt($ch, CURLOPT_NOBODY, 1);        //设置超时     

php应用篇-百度图片的防盗链

众所周知,一个网站如果的图片流量很占用网络带宽,因此,防止图片的被盗连就显得重中之重.这里,简单讲解下百度如何防止图片的盗链的原理,接着介绍下如何通过php来盗取图片,正所谓,道高一尺魔高一丈,防守和进攻总是不断地相互促进发展. 首先,简单介绍下盗链,按照百度百科的介绍"盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率.受益者不提供资源或提供很少的资源,而真正的服务提供

PHP判断远程图片或文件是否存在

PHP判断远程图片是否存在,此方法同样适用于判断远程文件是否存在,这是一种既然有效率且又准确的方法,建议采用此方法,以往使用get_headers()方法判断都是有问题的: function check_remote_file_exists($url) { $curl = curl_init($url); //不取回数据 curl_setopt($curl, CURLOPT_NOBODY, true); //发送请求 $result = curl_exec($curl); $found = fa

微信图片反防盗链的方法

微信图片反防盗链的方法(此图片来自微信公众平台,未经允许不可饮用) (未找到出处,如有侵犯,请及时告知,谢谢) 因为在<img>标签中引用微信的图片 <?php $img = "http://mmbiz.qpic.cn/mmbiz /ibbmVK4uC7iacR4KGWnyJHvQxl276DK6eGibiafBFTLObjBtKU9hGZoiaaiaD49r4u9otkQzCGAPAbWlPVzrpyCRaCVA/0"; ?> <img src=&quo

判断远程图片是否存在的asp技巧[ASP代码]

判断远程图片是否存在的asp技巧[ASP代码]  function CheckURL(byval A_strUrl) set XMLHTTP = Server.CreateObject("Microsoft.XMLHTTP") XMLHTTP.open "HEAD",A_strUrl,false XMLHTTP.send() CheckURL=(XMLHTTP.status=200) set XMLHTTP = nothing end function Dim im

图片跳板,图片反防盗链

用于反防盗链图片,图片代理,原理:反盗链图片一般允许空referrer访问,所以使用服务端远程伪造referrer抓取图片,然后输出image/* 格式达到反防盗链的效果. 前台使用:<img src="跳板地址/GetImg?imgUrl=原图片地址" /> public FileResult GetImg(string imgUrl) { Uri url = new Uri(imgUrl); HttpWebRequest req = (HttpWebRequest)We

Asp.net 图片文件防盗链介绍

想要实现文件放盗链的功能 首先添加一个全局文件 Global.asax 在 Application_BeginRequest中我们可以判断Http报文头中的UrlReferre是否来源本站. if (HttpContext.Current.Request.UrlReferrer != null) { if (HttpContext.Current.Request.Url.AbsolutePath.EndsWith("jpg", StringComparison.OrdinalIgnor

微信图片反防盗链 不太成熟的解决方式 仅供参考

$("#imgDiv img").each(function () { var img = $(this); var img_src = img.attr("src") + "?" + Math.random(); var frameid = "frameimg" + Math.random(); var image = new Image(); image.src = img_src; image.onload = func

nginx图片防盗链

1.全站防盗链:配置nginx.conf 2.针对图片目录防盗链:配置nginx.conf 3.使用第三方模块防盗链:ngx_http_accesskey_module(需要重新编译nginx)