ajax-Anfrage weiterleiten
PitStop
- php
HI zusammen,
ich habe eine Ajax-Anfrage an einen anderen Server.
Um die Security-Policy zu umgehen, habe ich die Anfrage getunmnelt über ein php-Script.
Im Moment stelle ich über das php-script die Anfrage an den eigentlichen server und kopiere/speichere die Ausgabe in eine txt, aus der ajax dann ausliest.
Nun wil ich aber die Ausgabe direkt weiterleiten und vor allem auch noch bedingungen einbauen.
zur zeit wird die neue Anfrage nicht verwertet, weil die alte ausgabe noch in der txt steht.
also gits 2 möglichewktien:
1-> ich lösche die txt immer wieder oder
2-> ixh leite die ajax-Anfrage direkt weiter.
bei 2 weissi ch allerdings nicht wie ich das machen kann.
kann mir da einer helfen?
danke pit
Mahlzeit PitStop,
Im Moment stelle ich über das php-script die Anfrage an den eigentlichen server und kopiere/speichere die Ausgabe in eine txt, aus der ajax dann ausliest.
Wo befindet sich die txt-Datei? Wie kann AJAX da direkt auslesen, wenn sie auf dem Server liegt? Vielleicht solltest Du den Ablauf detaillierter schildern (Glaskugeln und Ins-Gehirn-guck-Apparate sind grad aus) ...
Nun wil ich aber die Ausgabe direkt weiterleiten und vor allem auch noch bedingungen einbauen.
Dann tu das. Gib doch einfach, wenn per AJAX das PHP-Skript auf Deinem Server aufgerufen wird und dieses dann die Anfrage an den externen Server gestellt und eine Antwort zurückerhalten hat, diese Antwort einfach an die wartende AJAX-Anfrage weiter. Wo genau ist das Problem?
1-> ich lösche die txt immer wieder oder
Die Sache mit der txt-Datei erscheint mir unvorteilhaft, fehlerträchtig und sinnfrei zu sein.
2-> ixh leite die ajax-Anfrage direkt weiter.
bei 2 weissi ch allerdings nicht wie ich das machen kann.
S.o.: wo genau ist das Problem?
MfG,
EKKi
2-> ixh leite die ajax-Anfrage direkt weiter.
bei 2 weissi ch allerdings nicht wie ich das machen kann.
leite die anfrage auf eine datei die du "ajaxanfrage.php" oder wie auch immer nennst - dieses file hat einen parameter "meintollerparamter1" der den fpad des eigentlichen scripts (auf dem andern server) beeinhaltet und ihm alle variablen übergibt
angenommen du willst folgendes script aufrufen
http://www.example.com/ajax.php?p1=foo&p2=bar
rufst du einfach folgendes auf
http://example.org/ajaxanfrage.php?meintollerparameter1=http%3A%2F%2Fwww.example.com%2Fajax.php%3Fp1%3Dfoo%26p2%3Dbar
ajaxanfrage.php liest zb mit fopen/fread einfach $_GET['meintollerparameter1']; und liefert die antwort
btw: das script sollte natürlich abgesichert werden ;)
Moin!
leite die anfrage auf eine datei die du "ajaxanfrage.php" oder wie auch immer nennst - dieses file hat einen parameter "meintollerparamter1" der den fpad des eigentlichen scripts (auf dem andern server) beeinhaltet und ihm alle variablen übergibt
angenommen du willst folgendes script aufrufen
http://www.example.com/ajax.php?p1=foo&p2=barrufst du einfach folgendes auf
http://example.org/ajaxanfrage.php?meintollerparameter1=http%3A%2F%2Fwww.example.com%2Fajax.php%3Fp1%3Dfoo%26p2%3Dbar
Ich würde NIE ein Skript schreiben, dass sich als Proxy mißbrauchen läßt und von beliebigen Servern beliebige Ressourcen abrufen kann.
Anwendungszweck hier ist der konkrete Einsatz für eine konkrete Zieladresse auf einem konkreten anderen Server. Sowas muß man IMMER fest verdrahtet im Skript einbauen.
- Sven Rautenberg
Moin Moin!
http://example.org/ajaxanfrage.php?meintollerparameter1=http%3A%2F%2Fwww.example.com%2Fajax.php%3Fp1%3Dfoo%26p2%3Dbar
Ich würde NIE ein Skript schreiben, dass sich als Proxy mißbrauchen läßt und von beliebigen Servern beliebige Ressourcen abrufen kann.
Niemand sollte das tun.
Anwendungszweck hier ist der konkrete Einsatz für eine konkrete Zieladresse auf einem konkreten anderen Server. Sowas muß man IMMER fest verdrahtet im Skript einbauen.
Richtig!
Allerdings könnte man durchaus eine Erweiterung einbauen, die eine Weiterleitung an eine vorher festgelegte Auswahl von Servern erlaubt.
http://example.org/ajaxanfrage.php?target=3
target => Ziel-URL
1 => http://www.example.com/ajaxbaustelle.pl
2 => http://demo.invalid/hmmm/tja/nochwas.cgi
3 => http://rambazamba.example.net/ka/booom.asp
sonst Fehler
Sprich: Switch-case oder equivalente Konstruktion, if-then-else, oder Sprungtabelle.
Alexander