php伪造Referer访问防盗链图片

基础防盗链

基础防盗链主要是针对客户端请求过程中所携带的一些关键信息来验证请求的合法性, 比如客户端请求IP,请求URL中携带的referer。优点是规则简单,配置和使用都很方便,缺点是防盗链所依赖的验证信息很多都是可以伪造的,因此此类防盗链可靠性较低。

Referer防盗链

Referer在HTTP协议里有特殊的用途,当浏览器向服务器发送请求时,一般会带上Referer头,告知服务器该请求是从哪个页面链接过来的。Referer经常被用于页面访问统计、图片防盗链等。

适用场景举例:

使用浏览器直接访问这张图片http://pic.qiantucdn.com/58pic/34/81/68/43g58PIC9ZK2GIjdy4Nff_PIC2018.jpg
是访问不了的
回显报错 {"code":"40310014","msg":"invalid Referer header"}

但是用火狐修改请求头,添加Referer: https://www.58pic.com/c/1599016 之后就可以正常显示啦
php伪造Referer访问防盗链图片  第1张

php伪造Referer

代码如下:

<?php
//$img_url=$_GET['img_url'];
$img_url="http://pic.qiantucdn.com/58pic/34/81/68/43g58PIC9ZK2GIjdy4Nff_PIC2018.jpg";
header('Content-type: image/jpeg');
$context=array('http' => array ('header'=> 'Referer: https://www.58pic.com/c/1599016',),);
$xcontext = stream_context_create($context);
echo $str=file_get_contents($img_url,FALSE,$xcontext);
?>


Tips:本文仅代表作者观点,不代表本站立场。如侵犯到您的合法权益,请速联系本站删除侵权资源! 如您遇到资源链接失效,请您通过评论或工单的方式通知管理员! 未经许可,不得转载。
九牛网 » php伪造Referer访问防盗链图片

发表评论

欢迎 访客 发表评论

定制开发服务!

需求提交 联系我们
注册
用户名
密码
确认密码
邮箱
验证码
找回密码
用户名
邮箱
※ 重置链接将发送到邮箱