ASP.NET で httpOnlyCookies を正確に構成するにはどうすればよいですか?
質問
この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 に投稿する
所属していません StackOverflow