2010-06-28 14 views

risposta

3

Vedere this comment nel manuale. Fornisce una brutta soluzione. Credo che questa restrizione sia efficace a causa di un bug nella libreria di arricciatura in cui seguirebbe i reindirizzamenti alle risorse locali, ma a questo punto dovrebbe essere corretto, quindi non vedo alcun motivo per questa limitazione.

+0

Beh, questo è sicuramente un brutto attacco, ma funziona. In pratica, analizzerete le intestazioni di risposta e reindirizzate manualmente. – Piskvor

0

safe_mode appartiene a PHP_INI_SYSTEM - quindi se questo è il problema, sei sfortunato, questi elementi possono essere impostati solo in php.ini e vhost config.

open_basedir appartiene a PHP_INI_ALL, quindi è possibile impostarlo in .htaccess utilizzando php_value.

+0

Potrei sbagliarmi, ma penso che php_admin_value non possa essere inserito nei file .htaccess. Forse intendi php_value? – Artefacto

+0

@Artefacto: sei corretto, corretto. "php_admin_value (...) Questo non può essere utilizzato nei file .htaccess." http://php.net/manual/en/configuration.changes.php – Piskvor

0

Funziona per me!

 $ch = curl_init(); 

     $header=array(
      'User-Agent: Mozilla/5.0 (Windows NT 5.2; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0', 
      'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 
      'Accept-Language: en-us,en;q=0.5', 
      'Accept-Encoding: gzip,deflate', 
      'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7', 
      'Keep-Alive: 115', 
      'Connection: keep-alive', 
     ); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_REFERER, $url); 
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 5.2; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0"); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //Set curl to return the data instead of printing it to the browser. 
    curl_setopt($ch, CURLOPT_COOKIEJAR, 'curl_cookies.txt'); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, 'curl_cookies.txt'); 
    curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate'); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header); 

    $data = curl_exec($ch); 


    curl_close($ch); 

    $status = curl_getinfo($curl); 

if ($status['http_code'] == 200) { 
    return $data;  
} else { 
    echo $url; 
    return @file_get_contents($url); 
} 
Problemi correlati