Supposons que vous ayez un formulaire qui collecte et soumette des informations sensibles et que vous souhaitez vous assurer qu'il n'est jamais accessible via des moyens non sécurisés (HTTPS), comment pouvez-vous mieux appliquer cette stratégie?Qu'est-ce qu'un moyen propre/simple d'assurer la sécurité d'une page?
Répondre
Je pense que la solution la plus pare-balles est de garder le code à l'intérieur de votre racine de document SSL seulement. Cela garantira que vous (ou un autre développeur à l'avenir) ne pouvez pas créer un lien accidentel vers une version non sécurisée du formulaire. Si vous avez le formulaire sur HTTP et HTTPS, vous pourriez même ne pas remarquer si le mauvais est utilisé par inadvertance.
Si ce n'est pas faisable, alors je prendrais au moins deux précautions. Effectuez la réécriture de l'URL Apache et vérifiez votre code pour vous assurer que la session est cryptée. Vérifiez les en-têtes HTTP.
Jetez un oeil à ceci: http://www.dotnetmonster.com/Uwe/Forum.aspx/asp-net/75369/Enforcing-https
Edit: Cela montre des solutions d'un point de vue IIS, mais vous devriez être en mesure de configurer au sujet de tout serveur web pour cela.
Dans IIS? Allez dans les paramètres de sécurité et cliquez sur "Exiger une connexion sécurisée". Alternativement, vous pouvez vérifier les variables du serveur dans le chargement de la page et rediriger vers la page sécurisée.
Si vous utilisez Apache, vous pouvez mettre un RewriteRule
dans votre .htaccess
, comme ceci:
RewriteCond %{HTTPS} "off"
RewriteRule /mypage.html https://example.com/mypage.html
Je suggère à la recherche à la demande dans le code qui rend la forme, et si elle est n'utilisez pas SSL, émettez une redirection vers l'URL https.
Vous pouvez également utiliser une règle de rewite dans Apache pour rediriger l'utilisateur.
Ou, vous pouvez simplement ne pas afficher la page via HTTP et la conserver uniquement dans la racine du document de votre site HTTPS.