• Asp.Net MVC Https设置


    1.   IIS设置

    1.1 创建SSL证书

       点击左侧菜单栏顶部,点击“功能视图”里的“服务器证书”:

             点击“创建自动签名证书”创建自动签名证书:

    1.2 设置SSL证书

             点开网站,在“功能视图”里点击“SSL设置”:

             如图,设置SSL:

    1.3 绑定SSL证书

             点开网站,在右侧“操作”栏点击“绑定”:

             添加“网站绑定”,选择https及刚刚创建的SSL证书,主机名(也就是域名)根据需要选设(IIS7默认不支持,需要在配置文件applicationHost.config里进行设置,详见注):

             【注】域名也可以通过配置进行设置:

          打开C:Windowssystem32inetsrvconfigapplicationHost.config在里面找到

    <bindings>
        <binding protocol="https" bindingInformation="*:443:" />
         <binding protocol="http" bindingInformation="*:80:www.yourdomain.com" />
    </bindings>

      找到https的配置项目,修改为:

    <binding protocol="https" bindingInformation="*:443:www.yourdomain.com"/>

      这里面需要注意的是:bindings节点有多个,需要找到你配置的站点,默认是

    <binding protocol="https" bindingInformation="*:443" />

    2.强制使用https

      MVC操作非常简单,只需要在网站Index设置RequireHttps特性即可:

            [RequireHttps]
            public ActionResult Index()
            {
                return View();
            }

      这是一种投机的设置,合理的做法应该是在项目Global.asax文件 Application_Start中添加过滤:

     GlobalFilters.Filters.Add(new RequireHttpsAttribute());

    3.https使用中的问题

    3.1 百度地图的问题

      https的网站使用百度地图,如果你引用的地址没写对的话,加载不出来百度地图,被认为是不安全的JS内容。解决方式:

      https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1

      加上s=1代表引用的是https的。

    3.2 加密会话(SSL)Cookie 中缺少 Secure 属性问题

           服务器开启了Https时,cookie的Secure属性应设为true,否则,在进行IBM AppScan安全扫描时,就会扫出下面的问题:

     

      解决办法:

      1. 修改web.config,添加: 

    <system.web>
      <httpCookies httpOnlyCookies="true" requireSSL="true" />
    <system.web> 

      2. 修改后台写Cookies时的设置 cookie.Secure = true:

    1 HttpResponse response = HttpContext.Current.Response;
    2 var cookie = new HttpCookie(key, value);
    3 cookie.HttpOnly = true;
    4 cookie.Path = "/";
    5 cookie.Expires = DateTime.Now.AddHours(1);
    6 cookie.Secure = true; 
    7 response.AppendCookie(cookie);

    参考资料:

    IIS配置HTTPS

    C# MVC 网站将http强制跳转到https
    IBM AppScan 安全扫描:加密会话(SSL)Cookie 中缺少 Secure 属性 处理办法

  • 相关阅读:
    洛谷 1842 [USACO05NOV]奶牛玩杂技【贪心】
    洛谷 1757 通天之分组背包【分组背包】
    洛谷 1330 封锁阳光大学
    洛谷 1019 单词接龙
    【模板】CDQ分治
    BZOJ 2734 洛谷 3226 [HNOI2012]集合选数【状压DP】【思维题】
    BZOJ 2457 [BeiJing2011]双端队列
    洛谷 2015 二叉苹果树
    牛客网 牛可乐发红包脱单ACM赛 C题 区区区间间间
    牛客网 牛可乐发红包脱单ACM赛 B题 小a的旅行计划
  • 原文地址:https://www.cnblogs.com/yscit/p/10404926.html
Copyright © 2020-2023  润新知