get oder post methode...
Alain
- cgi
hallo, ich wollte zur sicherheit nach fragen,ob es trotzdem möglich ist (sei es vielleicht wegen einem anderen browser typ oder system bedingt) ein perl cgi per "get" methode auf zu rufen,wenn das formular diese <form action="cgi-bin/formular.cgi" method="post"> eingaben hat? Warum ich das so will ist einfach,ich möchte dass das cgi nicht direkt aufgerufen wird,sondern nur vom formular aus von einer bestimmten seite. Die eingaben im cgi sehen so aus:
if (($check_referer != 1) or ($ENV{'REQUEST_METHOD'} eq "GET")) { &bad(); }
Grüsse vom Alain-- ...nichts ist so schlecht, als daß es nicht für irgend etwas gut wäre
Warum ich das so will ist einfach,ich möchte dass das cgi nicht direkt aufgerufen wird,sondern
nur vom formular aus von einer bestimmten seite.
Das kannst du nicht, mit dem Versuch sperrst du nur unnötiger Weise Leute vom Zugriff auf das Formular aus. Der Webserver teilt dem Script die Methode mit, mit der auf das Script zugegriffen werden soll, wenn du dort verifizierst, dass die Anfrage POST war, oder wie du es tust, ob sie nicht GET war, dann "funktioniert" das durchaus, das zu fälschen ist schwer bis gar nicht möglich. Ob es sinnvoll ist, ist allerdings eine andere Frage...
moin,
Das kannst du nicht, mit dem Versuch sperrst du nur unnötiger Weise Leute vom Zugriff auf das Formular aus. Der Webserver teilt dem Script die Methode mit, mit der auf das Script zugegriffen werden soll, wenn du dort verifizierst, dass die Anfrage POST war, oder wie du es tust, ob sie nicht GET war, dann "funktioniert" das durchaus, das zu fälschen ist schwer bis gar nicht möglich. Ob es sinnvoll ist, ist allerdings eine andere Frage...
Es ist sinnvoll meiner meinung nach,weil es sich bei dem formular um ein login (user+passwort) script handelt.Ich möchte nur sicherstellen dass das script auch richtig aufgerufen wird. Das problem ist,wenn ich den code weglasse und das cgi direkt aufrufe,dann passiert zwar genau dasselbe wie wenn ich den code drinnen hätte nur schreibt dann der server diverse fehler in die error log weil das script nur so aufgerufen wurde und nicht über das formular,was mit if (($check_referer != 1) or ($ENV{'REQUEST_METHOD'} eq "GET")) { &bad(); } nicht der Fall ist. Mit meiner Frage wollte ich eigentlich nur wissen ob das script trotzdem per "get" aufgerufen würde, obwohl es von der html datei per method="post" aufgerufen wurde? Grüsse vom Alain