Apache2 + PHP über Proxy

Apache, Lighttpd, nginx, Cherokee
microhome
Posts: 120
Joined: 2004-04-04 21:24

Apache2 + PHP über Proxy

Post by microhome » 2007-08-20 14:02

Hallo ihr lieben,
ich habe folgendes Problem. Ich habe hier eine Workstation, die hinter einem Proxy hängt. Wenn ich meinen Browser starte und eine www-Adresse eingebe kommt die Authorisierung für den Proxy. Auf meiner Workstation läuft ein Apache2. Ein PHP Script soll auf das Internet Zugreifen, nämlich den Quellcode einer Seite fetchen. Doch egal welche URL ich öffnen möchte, er öffnet mir immer die lokale Startseite des XAMPP. Ich habe das ganze schon an einer Direktverbindung getestet - da geht es. Muss also am Proxy liegen.

Ist es irgendwie möglich dem Apache zu sagen, dass er einen Proxy für externe Anfragen benutzen soll?

Hier der PHP Code:

Code: Select all

$url = "http://google.de";
echo "<a href=$url target="_blank">$url</a>*<br><br>";
$page = file($url);
for ($i=0;$i<count($page);$i++) {
$counter++;
$page[$i] = htmlentities($page[$i]);
echo "<code> <u><font color='green'>$counter</font></u> $page[$i] </code><br>";


Vielen Dank und beste Grüße!
m!crohome

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Apache2 + PHP über Proxy

Post by Joe User » 2007-08-20 14:30

Nimm wget zum Fetchen und parse das File aus dem Filesystem heraus. Ist einfacher und sicherer...

microhome
Posts: 120
Joined: 2004-04-04 21:24

Re: Apache2 + PHP über Proxy

Post by microhome » 2007-08-20 15:02

Naja aber dann muss ich ja system - Befehle nehmen und da bin ich kein Fan von. Wo liegt denn das Sicherheitsrisiko bei file()? Mich würd eben noch immer interessieren ob ich irgendwie den zu verwendenen Proxy einstellen kann. Ist ja nur zum Testen, mein richtiger online-server hat ja eine direkte Verbindung.

//Edit: Hat sich erledigt. Man kann PHP via fsockopen() dazu bringen über einen Proxy zu gehen. Details hierzu findet man in den Kommentaren auf php.net unter den Funktionen fsockopen und file.