2008-08-28 11 views

答えて

49

あなたはASP.NET 2.0以上を使用している場合、あなたはそれをオンにすることができますWeb.configファイルに保存します。

<httpCookies httpOnlyCookies="true"/> 
+0

これは私のためには機能しません。私は ""どちらの設定も動作しませんでした。 – rolls

+0

@rolls私は同じ問題があります。あなたは解決策または原因を見つけましたか? – Neothor

+0

はい私はそれをコードで行いました。以下の答えを確認してください。 – rolls

10

Rickへの小道具(ブログ記事の2番目のコメントが記載されています)は、httpOnlyCookiesのMSDN articleです。

ボトムラインは、あなたがちょうどあなたのweb.configファイルであなたのsystem.webセクションで、次のセクションを追加することです:

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

実際にはdomain = "String"を使用しないでください。有効なドメインを設定するか、その属性をそのままにしてください。 –

+0

@JonGallowayキャッチをありがとう、私はそれに応じてコードを更新しました。 –

+0

@ Dillie-Oこの要素をロックする原因は何ですか?私のweb.configファイルに設定すると、「要素httpcookiesが上位レベルの設定でロックされています」というエラーが表示されます。 – StackTrace

7

あなたはコードでそれを行うにしたい場合は、System.Web.HttpCookie.HttpOnlyプロパティを使用します。<のsystem.web >セクションでは、次の行を追加します。

これは、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のがあるとされていないどのクッキーを選択することができます。

3

興味深いことに<httpCookies httpOnlyCookies="false"/>を入れても、ASP.NET 2.0ではhttpOnlyCookiesが無効になっているようです。 SessionID and Login Problems With ASP .NET 2.0についてこの記事をチェックしてください。

Microsoftがweb.configから無効にすることを許可していないように見えます。これを確認してくださいpost on forums.asp.net

関連する問題