Qu'est ce qu'un nettoyage/moyen simple de s'assurer de la sécurité de la page?
Question
En supposant que vous avez un formulaire qui recueille et envoie des informations sensibles et vous désirez vous assurer qu'il n'est jamais accessible via l'insécurité (non HTTPS) signifie, comment pourriez-vous mieux est d'aller sur l'application de cette politique?
La solution
Je pense que la plupart des pare-balles solution est de conserver le code à l'intérieur de votre SSL racine du document seulement.Cela permettra d'assurer que vous (ou un autre développeur dans l'avenir) ne peut pas accidentellement lien vers une version de la forme.Si vous avez le formulaire sur HTTP et HTTPS, vous pouvez même pas remarqué si mauvais, on obtient utilisé par inadvertance.
Si ce n'est pas faisable, alors je prendrais au moins deux précautions.Faire de Apache réécriture d'URL, et ont un contrôle dans votre code assurez-vous que la session est chiffrée - vérifier les en-têtes HTTP.
Autres conseils
Si vous utilisez Apache, vous pouvez mettre un RewriteRule
dans votre .htaccess
, comme suit:
RewriteCond %{HTTPS} "off"
RewriteRule /mypage.html https://example.com/mypage.html
Jetez un oeil à ceci: http://www.dotnetmonster.com/Uwe/Forum.aspx/asp-net/75369/Enforcing-https
Edit:Cela montre solutions à partir d'un IIS point de vue, mais vous devriez être capable de configurer sur un serveur web pour cela.
Dans IIS?Accédez à paramètres de sécurité et de frapper des "Nécessitent une connexion sécurisée".Alternativement, vous pouvez vérifier les variables de serveur dans la page de chargement et de rediriger vers la page sécurisée.
Je vous suggère de regarder à la demande dans le code qui rend la forme, et si elle n'est pas à l'aide de SSL, un redirect vers l'URL https.
Vous pouvez également utiliser un rewite règle dans Apache pour rediriger l'utilisateur.
Ou, vous pouvez simplement ne pas servir la page via HTTP, et de les garder seul dans le document racine de votre site en HTTPS.