假设您有一个收集和提交敏感信息的表单,并且您希望确保永远不会通过不安全(非HTTPS)方式访问它,那么您最好如何执行该策略?
答案 0 :(得分:5)
如果您正在运行Apache,可以在RewriteRule
中添加.htaccess
,如下所示:
RewriteCond %{HTTPS} "off"
RewriteRule /mypage.html https://example.com/mypage.html
答案 1 :(得分:3)
我认为最防弹的解决方案是仅将代码保存在SSL文档根目录中。这将确保您(或将来的其他开发人员)不会意外链接到表单的非安全版本。如果您在HTTP和HTTPS上都有表单,您甚至可能不会注意到是否会无意中使用了错误的表单。
如果这不可行,那么我至少会采取两项预防措施。执行Apache URL重写,并检查代码以确保会话已加密 - 检查HTTP标头。
答案 2 :(得分:1)
看看这个:http://www.dotnetmonster.com/Uwe/Forum.aspx/asp-net/75369/Enforcing-https
编辑:这从IIS的角度展示了解决方案,但您应该可以为此配置任何Web服务器。
答案 3 :(得分:1)
在IIS中?转到安全设置并点击“要求安全连接”。或者,您可以在页面加载中检查服务器变量并重定向到安全页面。
答案 4 :(得分:1)
我建议在呈现表单的代码中查看请求,如果不使用SSL,请重定向到https网址。
您还可以在Apache中使用重写规则来重定向用户。
或者,您可能无法通过HTTP提供页面,只能将其保存在HTTPS站点的文档根目录中。