0

GWT と GWTP を使用して Web アプリケーションを開発しています。GWTPのwiki ページを調べて、指示に従って XSRF 攻撃に対する保護を行います。開発モードでは問題なく動作します。

これを Tomcat サーバーにデプロイしました。しかし、コンソールでは、クライアントから RPC で Cookie が送信されていないと表示され続けます。その結果、XSRF 攻撃と見なされるため、RPC 呼び出しを実行できません。

何が問題なのか誰か教えてもらえますか?アプリはDevモードで正常に動作するため、Tomcatの設定が原因ですか。

4

1 に答える 1

0

これは GWTP によるものではなく、Tomcat に関連するものだと思います

Tomcat 7 のセッション Cookie と SSO Cookie は、デフォルトで HttpOnly フラグを付けて送信され、JavaScript からこれらの Cookie へのアクセスを防止するようブラウザーに指示します。(Tomcat 6.0 および 5.5 では、Web アプリケーションまたはグローバル CATALINA_BASE/conf/context.xml ファイルの Context 要素で useHttpOnly="true" を設定することにより、これを有効にすることができます)。 http://tomcat.apache.org/migration.html#Session_cookie_configuration

したがって、context.xml を次のようにチェックしてください。

  <Context cookies="true" useHttpOnly="false" >
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    </Context>

クライアント側のスクリプトがセッション ID にアクセスできないようにするには、セッション Cookie に HttpOnly フラグを設定する必要がありますか? デフォルトは true です。

コンテキスト属性の詳細

于 2012-01-10T18:02:13.803 に答える