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??
spangoMedlem sedan juni 20008 205 inlägg Med tanke på att man med fopen kan öppna webbadresser så är det hemskt enkelt. Vill man göra om alla relativa länkar så att de stämmer blir det lite mer jobb, men det är inget oövervinnerligt.
QonosMedlem sedan sep. 2000438 inlägg jag tycker frågan borde vara
"hur kommer du ihåg ditt användarnamn?" :D
Alpha IIMedlem sedan maj 20002 993 inlägg 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);
?>
SPiNMedlem sedan mars 20007 896 inlägg Vad händer då? Vad får du för fel?
pimmeMedlem sedan sep. 20011 086 inlägg $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
Alpha IIMedlem sedan maj 20002 993 inlägg Ska jag använda fgets eller fread? fread läser väl hela filen medans fgets läser en rad?
Alpha IIMedlem sedan maj 20002 993 inlägg 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);
?>
Alpha IIMedlem sedan maj 20002 993 inlägg Har fortfarande inte löst det! *hjälp*