Ajax Script absichern?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ajax Script absichern?

    Hallo. Ich würd gern mal wissen wie ihr eure Ajax-Scripte so absichert. (Werte übergeben und so)

    Ich habe bis jetzt immer die Möglichkeit benutzt, wenn man mit einer Datenbank arbeitet, die übergebenen Werte des Ajaxscriptes mit der Datenbank zu überprüfen.
    Zum Beispiel übergibt das Script mir den User ID wert 25...und dann überprüfte ich mit einer SQL Abfrage ob ich Rechte besitze was mit dem Wert 25 anzufangen.


    Oder die andere möglichkeit die ich mir überlegt habe ist, wichtige Werte direkt mit einer Verschlüsselung zu übergeben...
    (Natürlich mit einer Verschlüsselung die man auch wieder Entschlüsseln kann. Anbieten würde sich da ja zum Beispiel Blowfish und einem eigenen Key womit der Wert dann Ver und Entschlüsselt werden kann. )

    Also Beispiel:
    <script type="text/javascript">
    sendmessage('hallo','datum','".$verschlüsselter_string."')
    </script>

    Und wenn man mal nach Performance geht, ist das Verschlüsselte übertragen wichtiger Informationen sicherlich das beste, hingegen der dauernden SQL abfragen?

    Naja bin mal gespannt wie die Profis das hier machen. Vllt kann man ja noch das ein oder andere Lernen :p
  • Eine AJAX Abfrage ist auch nur ein ganz normaler HTTP Aufruf. Ich behandle sie daher nicht anders als normale Aufrufe.

    Wie meinst du das mit den User IDs? Also Authentifizierungssachen ohne AJAX arbeiten ja meist mit Cookies.
    Wenn nun keine Cookies erlaubt sind, muss man mit einer Session ID arbeiten. Aber ansonsten ist es das selbe vorgehen.
  • Hm also ich meinte das jetzt so, dass wenn ich etwas per Ajaxrequst in die Datenbank eintragen will aus einem Forumlar. (Hab ich im ersten Post nicht erwähnt merke ich gerade :-/)

    Quellcode

    1. <form method="POST" onsubmit="ajaxrequest('uid='+this.uid.value)">
    2. <input type="hidden" value="uid" name="uid">
    3. <input type"submit">
    4. </form>


    Jetzt kann man den ajaxrequest im onsubmit tag mit firebug "faken" und eine andere zahl eingeben als die aus dem input type mit dem name uid.
    Und im php script arbeite ich ja dann mit $_POST['uid']; und wenn ich dann diese variable benutze um etwas in die Datenbank einzutragen und die uid "gefaked" wurde kommt sie ganz woanders an als gesollt.

    Hab ich das diesmal was verständlicher rüber gebracht? Ist iwie was schwer zu erklären O:-)
  • d0nut schrieb:

    aber würdest du das Formular ohne AJAX abschicken, dann würde doch auch ein $_POST Array auf der Zielseite erstellt werden.
    Das Ergebnis ist das selbe. POST ist eine HTTP Spezifikation und kann von jedem zusammengebaut werden.
    Egal ob in der Konsole per Telnet oder bequem per Firebug im Browser.


    Stimmt du hast absolut recht. Wie schwachsinnig meine Frage doch war... :-/
    Hab ich gar nicht dran gedacht...

    Naja nagut danke..Dann hat sich das Thema ja von alleine erledigt. :-[