Angenommen, Sie haben ein Formular, das vertrauliche Informationen sammelt und übermittelt und Sie sicherstellen möchten, dass niemals über unsichere (nicht HTTPS) Daten darauf zugegriffen wird, wie können Sie diese Richtlinie am besten durchsetzen?Was ist ein sauberer/einfacher Weg, um die Sicherheit einer Seite zu gewährleisten?
Antwort
Ich denke, die am meisten kugelsichere Lösung besteht darin, den Code nur in Ihrem SSL-Dokumentenstammverzeichnis zu behalten. Dadurch wird sichergestellt, dass Sie (oder ein anderer Entwickler in der Zukunft) nicht versehentlich eine Verbindung zu einer nicht sicheren Version des Formulars herstellen können. Wenn Sie das Formular sowohl auf HTTP als auch auf HTTPS haben, bemerken Sie möglicherweise nicht einmal, wenn das falsche versehentlich verwendet wird.
Wenn das nicht machbar ist, würde ich mindestens zwei Vorsichtsmaßnahmen treffen. Wiederholen Sie die Apache-URL und überprüfen Sie den Code, um sicherzustellen, dass die Sitzung verschlüsselt ist. Überprüfen Sie die HTTP-Header.
einen Blick auf diese: http://www.dotnetmonster.com/Uwe/Forum.aspx/asp-net/75369/Enforcing-https
Edit: Diese Lösungen aus einem IIS-Sicht zeigt, aber Sie sollten über einen beliebigen Web-Server für diese konfigurieren können.
In IIS? Gehe zu den Sicherheitseinstellungen und drücke "Sichere Verbindung anfordern". Alternativ können Sie die Servervariablen beim Laden der Seite überprüfen und auf die sichere Seite umleiten.
RewriteCond %{HTTPS} "off"
RewriteRule /mypage.html https://example.com/mypage.html
Wenn Sie Apache laufen lassen, können Sie eine RewriteRule
in Ihrem .htaccess
, wie so setzen Wenn Sie kein SSL verwenden, geben Sie eine Weiterleitung an die https-URL aus.
Sie könnten auch eine Rewite-Regel in Apache verwenden, um den Benutzer umzuleiten.
Oder Sie können die Seite einfach nicht über HTTP bereitstellen und nur im Dokumentenstamm Ihrer HTTPS-Site aufbewahren.
ich auf Antrag in dem Code, der die Form macht suchen würde vorschlagen, und wenn es sich um: