Jodå, det går. Jag skulle nog helst skrivit en slags fristående proxy i Java men visst går det i PHP också.
Vill du ha mer utförlig beskrivning så får du hojta till! :)
10 svar · 470 visningar · startad av HDJHSKGDKJHSD
hej!
Jag undrar om man i php, kan göra en sorts proxy-site?
Så om person X surfar in på min site finns det ett fint forumlär där han kan skriva i en adress (url).
När person X sen trycker på submit kommer URL:n upp på skärmen precis som vid vanlig surfning, FAST all information skickas genom servern.
Alltså, person X har aldrig kontakt med URL:n som skrivs in, utan bara servern...
ursäkta om jag är otydlig, hoppas ni förstår :)
Jodå, det går. Jag skulle nog helst skrivit en slags fristående proxy i Java men visst går det i PHP också.
Vill du ha mer utförlig beskrivning så får du hojta till! :)
hojt hojt! :-)
Jag skulle gärna vilja veta mer, kanske du kan pusha mig in på rätt spår? ;)
eller det kanske rentav finns en färdig lösning någonstans??
Det verkade kul och göra en "proxy" så jag försökte själv! :) men varför fungerar det inte???
<?
$fp = fopen($_POST['url'],"r") or die("Kunde inte öppna filen!");
$html="";
while (!feof($fp))
$html .= fgets($fp,filesize($_POST['url'])) or die("Kunde inte läsa filen!");
function parse_html($html) {
$html = preg_replace ( "/http:\/\/(.*?)/is", "proxy.php?url=" . urlencode ( "\\1" ), $html );
return $html;
}
echo parse_html($html);
?>
Vad händer då? Vad får du för fel?
$html .= fgets($fp,filesize($_POST['url'])) or die("Kunde inte läsa filen!");
Från php manualen om filesize: "This function will not work on remote files; the file to be examined must be accessible via the server's filesystem"
byt ut filesize(...) mot t.ex. 1024, det borde funka bättre
Ska jag använda fgets eller fread? fread läser väl hela filen medans fgets läser en rad?
Ja! nu fungerar det... nästan iaf... det här med sökvägar och länkar funkar inte alls... hur gör jag så att alla bilder funkar? så att alla som är skrivna:
<img src="img/bild1.gif">
ska synnas och att alla länkar och formulär osv ska gå igenom min php sida...
Min kod:
<?
$fp = fopen($_POST['url'],"r") or die("Kunde inte öppna filen!");
$html="";
while (!feof($fp))
$html .= fgets($fp, 1024);
fclose($fp);
function parse_html($html) {
$html = preg_replace ( "/http:\/\/(.*?)/is", "proxy.php?url=" . urlencode ( "\\1" ), $html );
return $html;
}
echo parse_html($html);
?>
Har fortfarande inte löst det! *hjälp*