2017-09-15 22 views
2

Web.ConfigとGlbal.asax.csファイルに次のコード行を含めましたが、ブラウザでデベロッパーツールを使用すると、以下に設定されていないセキュアフラグが見えますクッキー。セキュアフラグが.Netアプリケーションのクッキーに設定されていません

また、IIS(選択済みチェックボックスrequireSSL)でSSLSettingsを設定しました。

受信したCookieだけでなく、送信済みのCookieにもSecure属性を設定したいと考えています。どんな提案もお願いします。 Web.configファイルで

:Global.asax.csで

<httpCookies requireSSL="true"/> 

:ブラウザで

protected void Application_EndRequest(object sender, EventArgs e) 
     { 
      if (Request.IsSecureConnection == true && HttpContext.Current.Request.Url.Scheme == "https") 
      { 
       Request.Cookies["ASP.NET_SessionID"].Secure = true; 
       if (Request.Cookies.Count > 0) 
       { 
        foreach (string s in Request.Cookies.AllKeys) 
        { 
         Request.Cookies[s].Secure = true; 
        } 
       } 

       Response.Cookies["ASP.NET_SessionID"].Secure = true; 
       if (Response.Cookies.Count > 0) 
       { 
        foreach (string s in Response.Cookies.AllKeys) 
        { 
         Response.Cookies[s].Secure = true; 
        } 
       } 
      } 
     } 

enter image description here

+0

Application_BeginRequestまたはSession_Startで同じコードを試してください。 – G01

+0

@ G01 - あなたが示唆したようにGlobal.asax.csファイルのコードを使用しました。しかし、同じ結果。その他の方法で安全に設定できますか? –

+0

Web.configファイルでHttpOnlyCookieをtrueに設定します。 – G01

答えて

1

二つの方法、web.configファイル内の1つのhttpCookies要素があります。 requireSSLを有効にしてSSLだけでセッションを含むすべてのCookieを送信し、フォーム認証でも送信することができますが、httpcookiesでSSLを有効にする場合は、iをオンにする必要がありますnsideは構成も設定します。

<form> 
<httpCookies requireSSL="true" /> 
関連する問題