3

假设您有一个收集和提交敏感信息的表单,并且您希望确保永远不会通过不安全(非 HTTPS)方式访问它,您如何最好地执行该策略?

4

5 回答 5

5

如果您正在运行 Apache,则可以在RewriteRule中添加一个.htaccess,如下所示:

RewriteCond %{HTTPS} "off"
RewriteRule /mypage.html https://example.com/mypage.html
于 2008-09-10T18:54:02.357 回答
3

我认为最安全的解决方案是将代码仅保留在 SSL 文档根目录中。这将确保您(或将来的其他开发人员)不会意外链接到表单的非安全版本。如果您在 HTTP 和 HTTPS 上都有表单,您甚至可能不会注意到是否无意中使用了错误的表单。

如果这不可行,那么我将采取至少两个预防措施。执行 Apache URL 重写,并检查您的代码以确保会话已加密 - 检查 HTTP 标头。

于 2008-09-11T00:54:28.823 回答
1

看看这个: http: //www.dotnetmonster.com/Uwe/Forum.aspx/asp-net/75369/Enforcing-https

编辑:这从 IIS 的角度显示了解决方案,但您应该能够为此配置任何 Web 服务器。

于 2008-09-10T18:52:01.270 回答
1

在 IIS 中?转到安全设置并点击“需要安全连接”。或者,您可以检查页面加载中的服务器变量并重定向到安全页面。

于 2008-09-10T18:53:34.823 回答
1

我建议查看呈现表单的代码中的请求,如果它不使用 SSL,则发出指向 https URL 的重定向。

您还可以在 Apache 中使用重写规则来重定向用户。

或者,您不能通过 HTTP 提供页面,而仅将其保存在 HTTPS 站点的文档根目录中。

于 2008-09-10T18:55:13.853 回答