PitStop: ajax-Anfrage weiterleiten

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

  1. 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

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
  2. 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 ;)

    1. 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=bar

      rufst 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

      --
      "Love your nation - respect the others."
      1. 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

        --
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".