Domanda

Supponendo di avere un form che raccoglie e trasmette informazioni sensibili e si desidera assicurarsi che non è mai accessibile tramite insicuro (non HTTPS), significa, come si potrebbe meglio andare sull'applicazione di tale criterio?

È stato utile?

Soluzione

Penso più a prova di proiettile soluzione è quella di mantenere il codice all'interno del vostro SSL documento solo il root.Questo farà sì che tu (o un altro sviluppatore in futuro) non possono accidentalmente link a un non-secure versione del modulo.Se hai il modulo su HTTP e HTTPS, si potrebbe anche non notare, se è sbagliata viene usato inavvertitamente.

Se questo non è fattibile, quindi vorrei prendere almeno due precauzioni.Fare Apache URL rewriting, e dispone di un controllo nel codice per assicurarsi che la sessione è crittografato - controllare le intestazioni HTTP.

Altri suggerimenti

Se si esegue Apache, si può mettere un RewriteRule nel .htaccess, in questo modo:

RewriteCond %{HTTPS} "off"
RewriteRule /mypage.html https://example.com/mypage.html

Date un'occhiata a questo: http://www.dotnetmonster.com/Uwe/Forum.aspx/asp-net/75369/Enforcing-https

Edit:Questo dimostra soluzioni da IIS punto di vista, ma si dovrebbe essere in grado di configurare su qualsiasi server web per questo.

In IIS?Vai a impostazioni di sicurezza e premere "Richiedono una connessione sicura".In alternativa, è possibile controllare il server variabili nel caricamento della pagina e reindirizzare alla pagina protetta.

Vorrei suggerire la richiesta nel codice che rende il form, e se non si utilizza SSL, problema di reindirizzare l'URL https.

Si potrebbe anche usare una rewite regola in Apache per reindirizzare l'utente.

O, si potrebbe non servire la pagina via HTTP, e tenere solo nella document root del tuo sito HTTPS.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top