referer wohl kaum - was ist das für ein Trick?
Warum soll es nicht an dem Referrer liegen? Bei Formularverarbeitung ist es immer eine gute Idee, per HTTP_REFERER zu prüfen, von wo bzw. "welches" Formular abgesandt wurde.
Aber der Referer ist doch sehr manipulierbar! Vor allem in Firmen hinter Proxis... d.h. die können nicht den Referer abfragen, ob der Request von der eigenen Seite kommt. Die können nur Fragen ob der Referer _nicht_ von einer anderen Seite kommt, und wenn ich ein Formular abschicke, was habe ich dann für einen Referer? Steht dann da die Adresse auf meinem Computer? Also c:...?
Mmh, also ich weiß im Moment nicht, ob ich Dir so ganz folgen kann.
Zuerst einmal hast Du natürlich Recht, daß die Referer:-Kopfzeile manipuliert werden kann. Mir fällt da allerdings weniger irgendein Proxy-Viech ein, sondern eher die Geheimagenten- und Paranoia-Abteilung von WebWasher oder Opera.
Diese Manipulierbarkeit ändert aber nichts daran, daß man diese Möglichkeit zusätzlich zu anderen Prüfungen nutzen kann, gerade um bei sicherheitsrelevanten Dingen wie Bankgeschäften den Benutzer auf eine bestimmte Schiene zu zwingen. Die Sicherheit geht hier doch wohl eindeutig vor.
Dann die Sache mit dem Proxy: Ein Proxy hat Deine POST-Anfrage nicht zu manipulieren. Es würde auch keinen Sinn machen.
Und ein Browser, der hinter einem Proxy sitzt, kriegt normalerweise auch nichts von dieser Tatsache mit (mal abgesehen von eventuellen Einstellungen).
Der Browser kennt also immer nur http://meine.bank.de für die Formularseite und der Browser sendet auch immer nur diese Adresse als Referrer an den Bankserver.
Mir ist allerdings bisher auch nicht bekannt, daß man hinter einem Proxy eine URL wie http://proxy.firma.de?http://meine.bank.de/konto eingeben muß. Insofern habe ich Dichbei der Proxy-Sache vielleicht mißverstanden.
Darüberhinaus soll und kann aber ein Proxy im Falle von seriösen Bankgeschäften eh nicht an der Leitung horchen und somit auch nichts ändern - wozu ist SSL/https denn sonst da? Nur, damit wirklich _niemand_ zwischen Browser und Server etwas von den Daten mitkriegt.
Das könnte sein, aber wie unterscheiden Die jetzt Referer von meinem PC und von Firmen-Proxies?
Für ein Formular, das auf Deinem PC lagert, sendet der Browser entweder garkeine Referrer-Adresse oder den Pfad zur Datei ("c:/formular.html" o. ä.).
Wenn's per http abgerufen wurde, dann wird die verwendete URL gesendet, unabhängig davon, ob die Anfrage an den echten Server oder einen Proxy ging.
Somit ist die Prüfung auf Bankseite ein einfacher Vergleich zwischen gesendetem Referer: und soll-Adresse des Formulars.
Gruß,
soenk.e