多个网站图片设置了防盗链 怎样写盗链代码
本帖最后由 baihaideng 于 2020-9-27 11:01 编辑列如:
本网站 https://www.im286.net/
盗链几十个网站图片 https://www.a.net/ https://www.b.net/ https://www.c.net/ https://www.d.net/ ...
调用:getimg.php
https://www.im286.net/getimg.php?url=https://www.a.net/...jpg
https://www.im286.net/getimga.php?url=https://www.b.net/...jpg
https://www.im286.net/getimgb.php?url=https://www.c.net/...jpg
https://www.im286.net/getimgc.php?url=https://www.d.net/...jpg
getimg.php代码:
<?php
$url = null;
if(count($_GET) > 1){
foreach ($_GET as $key => $v) {
if($key != 'url'){
$url .= '&'.$key.'='.$v;
}else{
$url .= $v;
}
}
}else{
$url = $_GET['url'];
}
//伪造 网址 referer
$refer = 'http://www.a.net';
$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);
?>
但这个代码只能盗链一个,除非分别写几十个getimg.php getimga.phpgetimgb.phpgetimgc.php
这样太麻烦了。
有没有办法把所有网址写入一个getimg.php里面?
相关技术大牛来解决。。:ohh::ohh::ohh: 反向代理 自动拉取下载图片对应目录
我就这样做的 缺点是要保存到本地 传$refer = 'http://www.a.net'; $refer = $url 进去啊 本帖最后由 baihaideng 于 2020-9-27 12:58 编辑
娃哈哈 发表于 2020-9-27 12:31
传$refer = 'http://www.a.net'; $refer = $url 进去啊
是这样码?
<?php
$url = null;
if(count($_GET) > 1){
foreach ($_GET as $key => $v) {
if($key != 'url'){
$url .= '&'.$key.'='.$v;
}else{
$url .= $v;
}
}
}else{
$url = $_GET['url'];
}
//伪造 网址 referer
$refer = 'http://www.a.net';
$refer = 'http://www.b.net';
$refer = 'http://www.c.net';
$refer = 'http://www.d.net';
$refer = 'http://www.e.net';
$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);
?>
-------------------刚试了,这样写没有用,只能调用www.a.net的,b,c,d等均不行------------------- baihaideng 发表于 2020-9-27 12:54
是这样码?
不是,直接照他写的那样写,很可能就可以了。
即来源URL和目标URL相同。 豆蔻年华 发表于 2020-9-27 12:57
不是,直接照他写的那样写,很可能就可以了。
即来源URL和目标URL相同。
我的意思是所有域名写进一个PHP, 不要一个域名写一个PHP。。。 baihaideng 发表于 2020-9-27 13:00
我的意思是所有域名写进一个PHP, 不要一个域名写一个PHP。。。
就是这意思,把你红色的部分(多行),改为 $refer = $url 。应该就能通用了。 本帖最后由 baihaideng 于 2020-9-27 13:30 编辑
豆蔻年华 发表于 2020-9-27 13:04
就是这意思,把你红色的部分(多行),改为 $refer = $url 。应该就能通用了。
我试试,3Q
----------------------------不行,显示不了,改成www.baidu.com 可以了------------------------- echo $url;
把你的url输出看看,对应调整
然后
$refer = $url;
页:
[1]
2