2012-01-03 26 views
1

私はindex.jspページに私のGWTコードを持っています。ページ情報(セキュリティ/クッキー)を見ると、JSESSIONIDクッキーが 'subdomain.mysite.com'に割り当てられています。クライアント側のGWTでJSESSIONID Cookieを取得できないのはなぜですか?

私のクライアント側のコードでは、私はこれを行うと:

Window.alert("cookies=" + Cookies.getCookieNames().toString); 

は、私が「mysite.com」に割り当てられている2枚のクッキーを参照してください、私はJSESSIONIDが表示されません。現在のページのURLは「subdomain.mysite.com」です。クッキーを与えてはいけませんか? クリックイベントでCookieをリフレッシュまたは表示すると、JSESSIONID Cookieが表示されません。

なぜ私はクライアント側で取得できませんか?

答えて

7

アプリケーションサーバーは、JSESSIONID CookieにHTTPOnlyフラグを設定するように設定されていますか?あなたは、クライアント側でJSESSIONIDクッキーにアクセスしたい理由を明確にすることができます - その場合は、クライアント側のコードは、それが

HttpOnlyのフラグを設定するために、一般的に優れたセキュリティプラクティスですhttps://www.owasp.org/index.php/HttpOnly

を参照してください見ることができませんコード?

+0

私はの一部としてセッションIDを渡すことで計画していましたサーバー側でいくつかの記録作業を節約するためのサーバー呼び出し。 – Kieveli

+0

HTTPリクエストに自動的にアタッチされるため、セッションIDをサーバコールの一部として手動で渡す必要はありません。 –

+0

それは本当です...私はそれを渡す場合は、偽装することが難しいと思っていた...私はあまりにも難しいmethinkをしようとしています。 – Kieveli

0

Chiが説明したように、HTTPOnlyフラグがCookieに設定されている場合は、実際に発生します。あなたの唯一の目的は、JavaScriptのコンテキストで現在のセッションIDを取得する場合、あなたはちょうどそれがJS変数だかのようにJSP/ELは、それを印刷してみましょうことができます:

<script>var jsessionid = '${pageContext.session.id}';</script> 
関連する問題