环境
IIS 6
.NET 3.5(WEB FORMS
出于各种原因,我想在页面级别上启用SSL。这是最佳做法吗?我这样做时应该注意什么?什么被认为是最安全的方法?我打算这样做的方式是
右键点击页面 - >导航到属性 - >单击文件安全性 - >然后取消选中需要安全通道。
这会影响其他页面。任何帮助都会非常感谢你
答案 0 :(得分:1)
注意:我使用.aspx
代表ASP.Net页面,但以下内容应该适用。
即使您取消选中需要安全通道,我相信它仍将使用安全通道(因为您告诉它SSL不是必需,但这并不意味着它仍然无法使用SSL)。例如,如果您从secure_page1.aspx导航到unsecure_page2.aspx,它将默认通过HTTPS(或首页使用的任何协议)进行导航,即,当您单击特定页面时,它不会自动从HTTPS切换到HTTP链接。唯一的方法是使用绝对网址链接,即在https://www.mydomain.com/secure_page1.aspx上,您在页面上有一个链接说明:
<a href="http://www.mydomain.com/unsecure_page2.aspx">Link to unsecure page</a>
就个人而言,我建议如果一个网站需要任何SSL页面,整个网站都是SSL,或者它的整个部分(比如订购系统)是SSL,而不仅仅是需要安全的单个页面。这里的一个重要问题是要记住,在用户输入表单之前,任何发送关键信息的页面必须是SSL 。例如,不要使Login.aspx非SSL,然后使用Login-Post.aspx(表单post post url)SSL,因为这不安全。
我必须承认我已经完成了一个项目,其中网站是HTTP和HTTPS的混合,我们想强制用户的浏览器使用我们想要的协议。这样做的主要原因是HTTP页面在服务器和浏览器上比HTTPS更有效,因为加密会增加每个请求的开销。我对该项目使用了以下(hackish)方法:
我使用重定向助手页面redirect.aspx?url=unsecure_page2.aspx
,它基本上会发出如下的元标记:
<meta http-equiv="refresh" content="0;url=http://www.mydomain.com/unsecure_page2.aspx">
You are being redirected to http://www.mydomain.com/unsecure_page2.aspx.
If you aren't redirected in 5 seconds, please click <a href="http://www.mydomain.com/unsecure_page2.aspx">here</a>.
然后当您在https://www.mydomain.com/secure_page1.aspx时,如果要重定向到unsecure_page2.aspx,则使用重定向助手:
See unsecure page <a href="redirect.aspx?url=unsecure_page2.aspx">here</a>!