AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [AJAX/JS] Wie kaufmännisches "und" an PHP-Datei übergeben?
Thema durchsuchen
Ansicht
Themen-Optionen

[AJAX/JS] Wie kaufmännisches "und" an PHP-Datei übergeben?

Ein Thema von Matze · begonnen am 16. Sep 2008 · letzter Beitrag vom 16. Sep 2008
 
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#10

Re: [AJAX/JS] Wie kaufmännisches "und" an PHP-Date

  Alt 16. Sep 2008, 19:49
Moin,

ich misch mich ganz kurz ein:
Zitat von Valle:
Ein User im Forum macht in seine Signatur folgenden Code:

Code:
[img]http://www.example.com/index.php?delete_user=1[/img]
Sobald der Administrator (Der User mit der ID 1 in dem Fall) einen Post von diesen User sieht, versucht der Browser dessen Bild in seiner Signatur zu laden. Auch wenn es sich dann dabei nicht um ein Bild handelt, so wird diese Webseite trotzdem unter den Rechten des Administrators ausgeführt. Und er löscht sich selbst.
Sorry, aber da ist der Programmierer selbst schuld. Ein POST allein ist keine Loesung, wenn ich nicht validiere hab ich immer noch die Luecke. Ein Beispiel: der Logout im phpBB funktioniert ueber GET, damit er ueber einen Link aufgerufen werden kann. Wenn ich jetzt also die URL
Code:
http://www.delphipraxis.net/login.php?logout=true
einbetten wuerde, waere der User automatisch ausgeloggt. Aus dem Grund wird einerseits das Fragezeichen als Trennzeichen zwischen URL und Parametern blockiert, zusaetzlich wird beim Logout auch die korrekte SID verlangt (guck dir einfach den Logout-Link an, dann wirst du sehn was ich meine). Das reicht schon um das Script abzusichern, und zwar ohne eine laestige Nachfrage "willst du dich wirklich ausloggen" und ohne laestigen POST-Request.

That said, fuer bestimmte Dinge hat er natuerlich Recht. Wenn du alle Parameter in die URL reinwirfst, hast du spaetestens bei den Serverlogs ein Problem. Die Parameter werden naemlich mitgeloggt, wenn sie ueber GET reinkommen; wenn sie ueber POST kommen werden sie nicht geloggt. Das ist einerseits wichtig, um Passwoerter nicht zu kompromittieren, andererseits haelt es auch die Logfiles klein. Stell dir vor jeder Beitrag in der DP wuerde ueber GET reingehn, die Logfiles waeren uebelst gross.

Um auch eine sinnvolle Antwort zu geben: du verwendest encodeURI(). Guck in selfHTML einfach mal ein Kapitel tiefer auf encodeURIComponent() und du wirst feststellen, dass die Funktion auch das &-Zeichen kodiert, was encodeURI nicht macht.
encodeURI wird verwendet, um eine komplette URI zu escapen, und die Parameter dabei heile bleiben sollen. encodeURIComponent wird verwendet, um einen einzelnen Parameter so zu escapen, dass ein &-Zeichen keinen Schaden mehr anrichten kann.

Greetz
alcaeus

[add]
Zitat von Matze:
Zitat von Valle:
[...] - und zwar mit deiner Session und somit auch mit deinen Rechten!
Niemals. Meine Session ist meine und da kommt so leicht keiner außer mir ran. In der Hinsicht bin ich wirklich egoistisch.
Sag das nicht zu laut - es gibt einen Grund warum bei Attachments das Download-Fenster kommt (um olle Kamellen aufzuwaermen). Du willst nicht dass ich dir ein Beispiel liefere.[/add]
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz