如果我将登录用户重定向到我网站上的非SSL页面:
Response.Redirect("http://www.mysite.com/page.aspx");
但是母版页有代码:
if (IsLoggedIn)
ForceSSL();
将用户重定向到:
Response.Redirect("https://www.mysite.com/page.aspx");
在重定向和第二次重定向之间,是否有从客户端传输到服务器的不安全数据?
答案 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