<?php 
header
("content-type:text/html;charset=utf-8");
highlight_file(__FILE__);
function 
check_inner_ip($url)
{
    
$url str_replace('..','',$url);
    
$match_result=preg_match('/^(http|https)?:\/\/.*(\/)?.*$/',$url);
    if (!
$match_result)
    {
        die(
'url fomat error');
    }
    try
    {
        
$url_parse=parse_url($url);
    }
    catch(
Exception $e)
    {
        die(
'url fomat error');
        return 
false;
    }
    
$hostname=$url_parse['host'];
    
$ip=gethostbyname($hostname);
    
$int_ip=ip2long($ip);
    return 
ip2long('127.0.0.0')>>24 == $int_ip>>24 || ip2long('10.0.0.0')>>24 == $int_ip>>24 || ip2long('172.16.0.0')>>20 == $int_ip>>20 || ip2long('192.168.0.0')>>16 == $int_ip>>16;// 检查是否是内网ip
}
function 
safe_request_url($url)
{
    if (
check_inner_ip($url))
    {
        echo 
$url.' is inner ip';
    }
    else
    {
        
$ch curl_init();
        
var_dump(curl_setopt($chCURLOPT_URL$url));
        
var_dump($url);
        
$ch;
        
curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
curl_setopt($chCURLOPT_HEADER0);

        
$output curl_exec($ch);
        
$result_info curl_getinfo($ch);
        
// var_dump($result_info);
        
if ($result_info['redirect_url'])
        {
            
safe_request_url($result_info['redirect_url']);
        }
        
curl_close($ch);
        
var_dump($output);
    }
}
$url $_GET['url'];
if(!empty(
$url)){
    
safe_request_url($url);
}
?>

bool(true) string(48) "http://@127.0.0.1:1234:80@www.baidu.com/flag.txt" bool(false)