Ankündigung

Einklappen
Keine Ankündigung bisher.

AJAX Fremdzugriffe?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • AJAX Fremdzugriffe?

    Hallo,

    ich bin gerade dabei ein paar AJAX Funktionen zu basteln. Nun wurde mir gesagt, das wenn jemand weiss, welche Seite ich per AJAX aufrufe, er diese URL auch selber nutzen kann, z. B. im mein Kontent bei sich reinzuparsen etc.

    Ist dies überhaupt möglich? Wenn ja, wie lässt sich dies effektiv verhindern?

    Gruß
    Benny

  • #2
    ja, verhindern eigentlich garnicht effektiv.
    edit: was rufste denn sensibles ab?

    Kommentar


    • #3
      Ja. Ajax macht nichts anderes, als wenn Du die URL über die Browseradresszeile aufrufen würdest.

      Kommentar


      • #4
        Yo, das ist eben das Problem. Also ein alternativen Header mitsenden ist denke ich auch nicht das wahre oder? Also nen Kollee meinte ich sollte ein Hashwert mitsenden, der in PHP halt geprüft wird.

        Sensibile Daten bisher keine, aber man weiss ja nicht was noch kommt. Da möchte ich gerne schon wissen wie man soetwas verhindert.

        Kommentar


        • #5
          Naja, aber so ein Hashwert ist genauso einfach abzufangen und in nernormalen URL verwendbar.

          Kommentar


          • #6
            Das Problem hast Du doch aber bei anderen Webanwendungen auch, ist also kein AJAX spezifisches Problem.
            Wenn Du
            PHP-Code:
            <?php
            if ( isset($_POST['xyz']) ) {
              
            $x $_POST['foo'] . $_POST['bar'];
            hast, kannst Du ja auch nicht sicher sein, dass das über "Dein" Formular aufgerufen wurde (und deshalb auch nicht, dass isset($_POST['xyz']) sicher bedeutet, dass auch foo und bar vorhanden sind).

            Kommentar


            • #7
              Das Problem hatte ich auch.
              Hab es gelöst indem ich die Daten die der Client verändern will einfach Serverseitig auf die Richtigkeit geprüft habe. D.h. der Client kann zwar alles manipulieren was er will, aber halt nichts, was er nicht darf.

              Kommentar


              • #8
                Gegen die AJAX Anfragen kannst du nich wirklich was machen. Mit Firebug wird dir genau angezeigt welchen Request dein Skript abschickt, den kannst du kopieren (inkl. Hash etc) und einfach selber mit PHP eine Anfrage stellen und so Content "klauen".

                Kommentar


                • #9
                  Aber wenn der Hashwert immer nur 1-2 Sekunden gültig ist? Für den AJAX Call reicht es dann allemal, und danach ist er halt abgelaufen.

                  Kommentar


                  • #10
                    umständlich aber villeicht klappts..


                    wobei wenn jemand nen request auf deine eigentliche seite macht, den hashwert automatisch ausließt, und dann den request auf die andere macht... das könnte innerhalb 2 sekunden klappen

                    Kommentar


                    • #11
                      Und wenn ein (anderes, nicht Dein) Skript diesen Hash abfragt, so wie es Dein Skript tun würde? Du hast doch selbst schon danach gefragt, wie man Javascript zu einer Seite hinzufügen und Werte ändern kann. Das ist ein einfacher Weg, diesen Mechanismus auszuhebeln. Deine einzige Chance ist: keine Daten ausliefern, die der Client nicht sehen darf.

                      Kommentar


                      • #12
                        Aber wenn der Hashwert immer nur 1-2 Sekunden gültig ist? Für den AJAX Call reicht es dann allemal, und danach ist er halt abgelaufen.
                        Um nen Hashwert zu nutzen, muß man ihn mit irgendwas vergleichen. Mir fallen da nur Sessions ein, auf die hat Javascript aber keinen Zugriff (außer über Ajax). Alles andere (abhängig vom Timestamp oder so) ist security bei obscurity und kann durch Analyse des Javascript schnell nachgebaut werden.

                        Davids letzter Satz ist entscheidend.

                        Kommentar


                        • #13
                          Na und was soll die Session bringen? Ob ich nun Ajax oder Browseradresszeile benutze - der Cookie wird so oder so übertragen.

                          Kommentar


                          • #14
                            Im moment habe ich es so, das wenn ich ein AJAX Call ausführe ein Custom header mitsende. So kann eine PHP Datei schonmal erkennen, ob Sie per AJAX oder regulär aufgerufen wird.

                            Nun bleibt die Frage, ob ein User diese alternativ Header auch senden kann? Wenn nicht, brauch ich mir um eine Verschlüsselungstechnik keine Gedanken mehr machen.

                            Kommentar


                            • #15
                              Klar kann ein Benutzer das auch. Mit Tamper Data kann ich das "manuell" im Firefox machen. Mit zum Beispiel
                              PHP-Code:
                              curl_setopt($chCURLOPT_HTTPHEADER$myHTTPHeaders); 
                              in einem PHP-Skript. Und noch -zig andere Möglichkeiten.

                              Kommentar

                              Lädt...
                              X