ASP.net SSL问题

时间:2011-03-25 20:43:24

标签: asp.net ssl

如果我将登录用户重定向到我网站上的非SSL页面:

Response.Redirect("http://www.mysite.com/page.aspx");

但是母版页有代码:

if (IsLoggedIn)
    ForceSSL();

将用户重定向到:

Response.Redirect("https://www.mysite.com/page.aspx");

在重定向和第二次重定向之间,是否有从客户端传输到服务器的不安全数据?

2 个答案:

答案 0 :(得分:5)

http://www.mysite.com的初始请求将发送与该域名相关联的任何Cookie,但如果您在https://www.mysite.com上执行了所有流量,则不应该有任何Cookie

(假设您的Cookie仅设置为安全)

编辑:

错过了有关登录的部分...如果网站使用标准表单身份验证,您需要在web.config中执行类似的操作,它应该为您处理(requireSSL):< / p>

<authentication mode="Forms">
  <forms loginUrl="Login.aspx" timeout="15" slidingExpiration="true" requireSSL="true"/>
</authentication>

编辑#2:

我很好奇你是否可以在网站级别强制执行所有cookie(没有表单身份验证),看起来你可以将它添加到配置文件中:

<httpCookies domain="String" requireSSL="true" />

答案 1 :(得分:0)

取决于:) 如果假设masterpage中的代码在Page_load中,那么没有:)你手动对齐服务器端的所有内容。在请求完成之前,不会向客户端发送任何数据。并且Response.Redirect以特别讨厌的方式终止响应(threadAbort)并启动一个新的响应。  但正如约翰所说,可能会发送cookie