OneStep

php代码-隐藏图片真实地址

Toc目录

图片地址 经过二次调用,不直接显示

通过请求第二个php页面 传递参数名

<?php 
        
$pwd = 'https://xxxx/icon/';    
$url = @$_GET['url'];      
$image_file = $pwd.$url.".png";   
if($image_file){    
$image_url=$image_file;       
}       
else      
{       
   $image_url="./i/default.png";     
}       
header("Location: $image_url");       
exit;       
  
?> 

增强版

-调用页面(icon_cos.php)的代码

<?php 
header('Content-type: image/svg+xml');
// 备注image/x-icon用于显示ico图标,image/svg+xml用于显示矢量图标
include_once("fav_function.php");
// 关闭错误报告
//error_reporting(0); 
//腾讯云cos对象存储路径
$TencentCloudCOS = 'https://data-xxx.cos.ap-shanghai.myqcloud.com/svg/';    
//本地资源路径
$LocalRes = "i/fav.png";    
//获取传递的url数据
$url = @$_GET['url'];
//重别处扒来
if($url){ //链接不为空
    $image_url = $TencentCloudCOS.$url.".svg";
    $image_null = $TencentCloudCOS.imageholder.".svg";;     
    $curl = get_url_content($image_url);
$StatusCode = $curl['getinfo'];

//不调用服务器缓存目录下文件,直接获取API链接文件               
    if($StatusCode['http_code']=='200'){ //链接真实存在并且能访问到文件
    $ico_file = curl_file_get_contents($image_url);    
        }else{     //链接真,但不能访问到文件
    $ico_file = curl_file_get_contents($image_null);
    }                        
}else{//未输入链接情况只能调用本地资源              
     $ico_file = curl_file_get_contents($LocalRes);   
}               
echo $ico_file;
?>

-方法 函数的页面(fav_function.php)代码

<?php
function get_url_content($bbb) { 
   $ch = curl_init(); 
   $timeout = 5;  
   curl_setopt ($ch, CURLOPT_URL, $bbb); 
   curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);  
   curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
   curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts
   curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
   $file_info['exec']= curl_exec($ch); 
   $file_info['getinfo'] = curl_getinfo($ch); //判断状态 有的情况下无法正确判断ico是否存在
   curl_close($ch); 
   return $file_info; 
}

function isUrl($s)  
{  
    return preg_match('/^http[s]?:\/\/'.  
        '(([0-9]{1,3}\.){3}[0-9]{1,3}'. // IP形式的URL- 199.194.52.184  
        '|'. // 允许IP和DOMAIN(域名)  
        '([0-9a-z_!~*\'()-]+\.)*'. // 三级域验证- www.  
        '([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.'. // 二级域验证  
        '[a-z]{2,6})'.  // 顶级域验证.com or .museum  
        '(:[0-9]{1,4})?'.  // 端口- :80  
        '((\/\?)|'.  // 如果含有文件对文件部分进行校验  
        '(\/[0-9a-zA-Z_!~\*\'\(\)\.;\?:@&=\+\$,%#-\/]*)?)$/',  
        $s) == 1;  
}

//个人新增方法用于替换系统自带的file_get_contents函数
function curl_file_get_contents($url)   
{   
    $ch = curl_init();   
    curl_setopt($ch, CURLOPT_URL, $url);            //设置访问的url地址   
    //curl_setopt($ch,CURLOPT_HEADER,1);            //是否显示头部信息   
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);           //设置超时   
    curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_);   //用户访问代理 User-Agent   
    curl_setopt($ch, CURLOPT_REFERER,_REFERER_);        //设置 referer   
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);      //跟踪301   
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);        //返回结果
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);    //https请求不验证证书
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);    //https请求不验证hosts   
    $r = curl_exec($ch);   
    curl_close($ch);   
    return $r;   
}  

?>
支付宝打赏 微信打赏

免责声明:本站多数资源来源于互联网。少数原创内容为本人随意书写不对其负任何法律责任(均为键盘和鼠标自行敲击),部分有助于网友的内容仅供学习与交流。如有转载、盗链等其它行为产生对国家社会网络不良影响均与本人无关。
版权说明:未经博主授权禁止转载、摘编、复制或建立镜像。对既成事实本站将保留所有的权利。

      




发表评论

发表新评论

请输入本站名:

暂无评论   

发送消息!
onestep
网站二维码
手机扫一扫,查看
.
贝多叶@聚合支付

真诚赞赏,手留余香

使用微信扫描二维码完成支付