Sven Rautenberg: POST auf einen fremden Server?

Beitrag lesen

Moin!

Es handelt sich nur um einen Versuch. Ich möchte wissen, ob es mit wenig Aaufwand möglich ist, die Postdaten von einem xbeliebigen PC im Internet einfach an einen Server zu schicken, von dem das Formular nicht vorher geholt wurde.

Mit einfachen HTML-Mitteln scheint es ja nicht möglich zu sein. Aber genau das möchte ich genauer wissen.

Warum sollte es nicht gehen? Der Browser setzt die teilweise Action-Angabe ja auch zu einer vollständigen URL zusammen. Wenn das Formular die Adresse http://www.server1.tld/pfad/formular.html hat, dann führt
diese action="..."            zu diesem Request
auswertung.php                http://www.server1.tld/pfad/auswertung.php
/auswertung.php               http://www.server1.tld/auswertung.php
/weg/auswertung.php           http://www.server1.tld/weg/auswertung.php
../weg/auswertung.php         http://www.server1.tld/weg/auswertung.php
http://www.wohin.tld/cgi-bin/script.cgi http://www.wohin.tld/cgi-bin/script.cgi

Ganz easy eigentlich. Und dabei ist es unerheblich, ob mit Methode GET oder POST gearbeitet wird, rein vom HTTP-Verhalten und der URL-Ermittlung her sind diese beiden Methoden ziemlich identisch.

Es ist mir auch nicht wirklich wichtig, ob es mit einzelnen Browserversionen _nicht_ funktioniert, wenn dann z.B. die Mehrheit der Browser dies ermöglichen.

Alle Browser können es.

Und wie soll ich einen Server gegen HTML-Uploads oder Posts schützen, wenn sie doch üblicherweise auch benötigt werden?

Was willst du genau tun? Gegen Requests kannst du einen Server nur teilweise schützen, denn Requests werden bei jeder Seitenanforderung benötigt.

Du kannst POST komplett oder basierend auf ein paar Regeln (z.B. welcher Absender oder welche Empfangs-URL) abschalten, aber GET abzuschalten wäre blödsinnig, weil du dann keinerlei Seiten mehr kriegst (die werden auch mit GET angefordert).

Grüße aus Braunschweig

Tom

PS: wer wird gewinnen? Die Brasilianer oder die Deutschen?