ASP.NET で httpOnlyCookies を正確に構成するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/33529

  •  09-06-2019
  •  | 
  •  

質問

このCodingHorrorの記事に触発されて、「Cookie を保護する:HTTPのみ"

このプロパティはどのように設定しますか?Web 設定のどこかにありますか?

役に立ちましたか?

解決

ASP.NET 2.0 以降を使用している場合は、Web.config ファイルで有効にすることができます。<system.web> セクションに次の行を追加します。

<httpCookies httpOnlyCookies="true"/>

他のヒント

Rick への小道具 (言及されたブログ投稿の 2 番目のコメント) を以下に示します。 MSDN の記事 httpOnlyCookies で。

要するに、web.config の system.web セクションに次のセクションを追加するだけです。

<httpCookies domain="" httpOnlyCookies="true|false" requireSSL="true|false" />

コードで実行したい場合は、 System.Web.HttpCookie.HttpOnly 財産。

これは MSDN ドキュメントから直接引用したものです。

// Create a new HttpCookie.
HttpCookie myHttpCookie = new HttpCookie("LastVisit", DateTime.Now.ToString());
// By default, the HttpOnly property is set to false 
// unless specified otherwise in configuration.
myHttpCookie.Name = "MyHttpCookie";
Response.AppendCookie(myHttpCookie);
// Show the name of the cookie.
Response.Write(myHttpCookie.Name);
// Create an HttpOnly cookie.
HttpCookie myHttpOnlyCookie = new HttpCookie("LastVisit", DateTime.Now.ToString());
// Setting the HttpOnly value to true, makes
// this cookie accessible only to ASP.NET.
myHttpOnlyCookie.HttpOnly = true;
myHttpOnlyCookie.Name = "MyHttpOnlyCookie";
Response.AppendCookie(myHttpOnlyCookie);
// Show the name of the HttpOnly cookie.
Response.Write(myHttpOnlyCookie.Name);

コードでこれを行うと、どの Cookie が HttpOnly で、どの Cookie がそうでないかを選択することができます。

興味深いことに <httpCookies httpOnlyCookies="false"/> 無効化していないようです httpOnlyCookies ASP.NET 2.0では。この記事をチェックしてください ASP .NET 2.0 での SessionID とログインの問題.

Microsoft は、web.config から無効にすることを許可しないという決定を下したようです。これをチェックして forums.asp.net に投稿する

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top