在仅使用https绑定的IIS网站中,我转到SSL设置:
RequireSSL设置为true还是false之间的区别是什么?
答案 0 :(得分:0)
从这里(http://weblogs.asp.net/scottgu/tip-trick-enabling-ssl-on-iis7-using-self-signed-certificates):
- IIS 7.0管理工具有一个" SSL设置"您可以为每个站点,目录或文件选择的节点,它允许您控制该特定资源(以及默认情况下其子节点)是否需要SSL请求才能执行。这对于像login.aspx页面这样的页面很有用,您希望保证用户只能在通过加密通道发布时输入凭据。如果将login.aspx页面配置为需要SSL,则IIS 7.0将阻止浏览器访问它,除非他们通过SSL执行此操作。
- 在ASP.NET页面或处理程序中,您可以通过检查Request.IsSecure属性以编程方式检查当前请求是否正在使用SSL(如果传入的浏览器请求通过SSL,它将返回" true" )。
- 您可以设置" requireSSL"将web.config文件中的配置部分的属性设置为具有ASP.NET的表单身份验证系统,以确保仅在启用SSL的页面和URL上设置和使用表单身份验证cookie。这样可以避免黑客试图拦截非SSL安全页面上的身份验证cookie,然后尝试使用"重放攻击"从另一台机器冒充用户。
因此,当网站具有http和https绑定以区分哪个特定资源需要https时,此设置似乎才有意义。