Da die PHP-Einstellung allow_url_fopen = On als unsicher gilt, muss sie ausgeschaltet werden. Als Konsequenz lassen sich keine urls mehr als Dateien öffnen:

include_once('http://domain.com/sourcefile.php');
$fp = fopen('http://domain.com/file.txt', 'rw');

Der Link oben erklärt ausführlich, warum das so ist: Wenn man URL’s als Dateien öffnen kann, kann man auch beliebigen PHP-, SQL- oder JavaScript-Code nachladen.

Wenn man trotzdem URL’s öffnen muss, ist Curl eine Alternative. Die Client URL Library ist eine Art Browser. So lassen sich Dateien aus URL’s auch ohne fopen öffnen:

$out = fopen('downloads/newfile.zip');
$ch = curl_init('http://domain.tld/file.zip');

curl_setopt($ch, CURLOPT_FILE, $out);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $file);

curl_exec($ch);
if($ch == false) { echo "
Error is : ".curl_error ( $ch); }

curl_close($ch);

Comments are closed.