有选择地重定向到https,而不是所有页面

时间:2011-10-14 15:35:41

标签: c# asp.net https

我的网站需要一些安全页面才能登录,用户帐户,表单提交等,但大多数页面都不需要安全。

购买并安装在www.mywebsite.com上的证书。

我目前正在使用page_load中的C#代码将用户重定向到https:

    if (!Request.IsLocal && !Request.IsSecureConnection)
    {
        string redirectUrl = Request.Url.ToString().Replace("http:", "https:");
        Response.Redirect(redirectUrl);
    } 

我担心的是,在访问安全页面并且用户点击另一个页面后,它会保持安全而不是回到http。

我已经看过很多选项,包括IIS重写(它就像一个完整的其他语言,太复杂了)和全局编码(重定向每一页,而不是选择性)。

是否有一个简单的解决方案可以让我在所选页面上重定向到https(大约10个左右的页面,或特定文件夹中的所有页面),然后再返回到所有其他页面上的http?我不是世界上最伟大的程序员,所以试图找到易于实现和理解的东西。

2 个答案:

答案 0 :(得分:0)

您可以使用HTTP处理程序来解决此问题,而不是在每个页面上加载代码

答案 1 :(得分:0)

如果您网站的任何部分需要SSL,那么我强烈建议您始终使用SSL。通过做其他事情,你将不必要地打开潜在的数据丢失。查看OWASP Top Ten了解详情。