Funktion erreichbar ohne Auslöser
Leeloo5E
- programmiertechnik
0 Leeloo5E0 Vinzenz Mai0 ChrisB
0 molily
Hallo,
folgendes Problem: Ich habe eine Funktion, die über ein normales Formular zur Verfügung gestellt wird. Auslöser ist ein Button. Diese Funktion ist für eine gewisse Zeit freigeschaltet. Danach wird der Button nicht mehr angezeigt. D.h. er kann auch nicht mehr betätigt werden und somit die Funktion ausgelöst werden. Nun habe ich jedoch festgestellt, dass jemand trotzdem diese Funktion auslösen kann, d.h. den Button scheinbar doch betätigen, obwohl er nicht mehr da ist. Die Funktion, die dahinter liegt wird nämlich ausgelöst, obwohl sie ja gar nicht mehr für den normalen Nutzer erreichbar ist. Wie geht das?
Gruß,
Leeloo
Hallo,
ok, ich habs: http://php-faq.de/q-code-post.html
echt genial. warum gibt es sowas?
Gruß,
Leeloo
Hallo,
ok, ich habs: http://php-faq.de/q-code-post.html
echt genial. warum gibt es sowas?
weil man so etwas kann und gelegentlich auch benötigt. Dir scheint nicht klar zu sein, dass *alle* Eingaben böse sind - und von überall her kommen können.
Freundliche Grüße
Vinzenz
Hi,
ok, ich habs: http://php-faq.de/q-code-post.html
echt genial. warum gibt es sowas?
Weil POST im RFC fuer HTTP definiert ist.
MfG ChrisB
folgendes Problem: Ich habe eine Funktion, die über ein normales Formular zur Verfügung gestellt wird. Auslöser ist ein Button.
Die Browser und viele andere Programme kommunizieren mit dem Webserver über HTTP miteinander. HTTP-Anfragen, in deinem Fall vermutlich POST-Anfragen mit Formulardaten, kann man auch ohne HTML-Dokument, ohne Formular und ihne Button absenden. Auf der unteren technischen Ebene wird da eine Verbindung zu einem anderen Rechner im Netz hergestellt und es werden ein paar Daten übertragen, mehr nicht. Wenn der Server die angefragte Adresse (URI) kennt, dann beantwortet er sie i.d.R. auch.
Für einen Websurfer ist es recht einfach, in Erfahrung zu bringen, an welche URI dein Formular Daten verschickt. Wenn du jetzt einfach das Formular aus einem HTML-Dokument streicht, ist die Adresse und die dahinterliegende serverseitige Funktionalität natürlich immer noch erreichbar. Also prüfe auch dort, ob zum gegenwärtigen Zeitpunkt diese Anfragen entgegengenommen und beantwortet werden - ansonsten breche das serverseitige Programm mit einer Fehlermeldung ab.
Mathias