【发布时间】:2018-03-16 06:34:55
【问题描述】:
我正在使用 IIS 8.5 中的 url 重写模块将站点从 http 重定向到 https。由于显示错误密码,重定向表单数据(用户名和密码)未存储。
对代码进行了哪些更改,以便 https 重定向完美运行。请帮我解决这个问题。
【问题讨论】:
标签: asp.net sql-server iis-8.5
我正在使用 IIS 8.5 中的 url 重写模块将站点从 http 重定向到 https。由于显示错误密码,重定向表单数据(用户名和密码)未存储。
对代码进行了哪些更改,以便 https 重定向完美运行。请帮我解决这个问题。
【问题讨论】:
标签: asp.net sql-server iis-8.5
我对您的问题的一个担忧是它推断用户名和密码被发布到不通过 HTTPS 的 URL,因此重定向。这意味着,无论您在那之后进行任何重定向到 HTTPS,详细信息仍将以纯文本形式发送,任何网络嗅探器都可以读取它们。我的建议是首先确保表单操作 URL 引用 HTTPS 上的端点,因此不需要重定向。
如果没有看到你重写规则是什么,我的猜测是你的服务器正在通过 HTTPS 返回 301 或 302 重定向到页面,这意味着将使用 GET 请求而不是 POST 来检索页面来自服务器。
如果 HTTPS 完全适合您,那么现在通常最好只通过 HTTPS 运行整个网站。我使用的重写规则是:
<rule name="HTTP to HTTPS redirect">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" />
</rule>
【讨论】: