51

この CodingHorror の記事「Cookie の保護: HttpOnly」に触発されました。

このプロパティをどのように設定しますか? Web構成のどこかに?

4

4 に答える 4

73

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

<httpCookies httpOnlyCookies="true"/>
于 2008-08-28T22:19:38.587 に答える
11

Rick への小道具と共に (前述のブログ投稿の 2 番目のコメント ダウン)、httpOnlyCookies に関するMSDN の記事を次に示します。

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

<httpCookies domain="" httpOnlyCookies="true|false" requireSSL="true|false" />
于 2008-08-28T22:17:45.253 に答える
9

コードで行う場合は、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);

コードでこれを行うと、HttpOnly である Cookie とそうでない Cookie を選択的に選択できます。

于 2008-08-29T02:48:00.157 に答える
3

興味深いことに、ASP.NET 2.0 ではパッティング<httpCookies httpOnlyCookies="false"/>が無効にならないようです。ASP .NET 2.0 でのセッション ID とログインの問題に関するhttpOnlyCookiesこの記事を確認してください。

Microsoft は、web.config から無効にすることを許可しないという決定を下したようです。forums.asp.net のこの投稿を確認してください

于 2009-04-21T01:57:19.583 に答える