問題タブ [jsessionid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - セッションを複製するためにユーザーのデータのハッシュに基づいてカスタムJSESSIONIDを生成する方法
TomcatのJSESSIONIDの組み込みジェネレーターをオーバーライドして、ユーザーのログインに基づいてこのCookieのカスタム値を作成できるようにすることは可能ですか?
これが必要な理由:「スティッキーセッション」を備えたロードバランサーがあり、同じJSESSIONIDを持つリクエストを同じサーバーにルーティングするように構成されており、同じユーザーが異なるサーバーで2つの異なるセッションを開始できる状況を防ぎたい。
PS:これはすべてAmazonEC2に関するものです
java - サーブレット セッション - URL 書き換えから Cookie への切り替え
状況:私はある種の SSO ミドルウェア (MW) に接続できる「ダム」な Javascript フロントエンドを持っています。MW は、認証資格情報 (ユーザー名、パスワード) を含む要求を発行することにより、セッションを取得できます。つまり、セッションは特定のユーザーに対して作成されます。
フロントエンドは、ターゲット システムに対するユーザーのアクセス許可を取得するために、セッションを「再起動」する必要があります。そのためには、有効なセッション Cookie が必要です。
ターゲット システムは私の管理下にないため (多かれ少なかれ公開されている WFS、WMS などである可能性があります)、それに SSO メカニズムを追加することはできません。
質問: URL の jsessionid パラメータに有効なセッション ID が含まれているリクエストを偽造するセッションを「盗む」ことは可能ですか?
目標: このようなリクエストをサーブレットに発行し、同じ ID を含む Set-Cookie ヘッダーで応答するようにします。そうすれば、フロントエンドはセッションに参加し、セッションの作成に使用されたユーザーが実行できることは何でも実行できます。
java - JSESSIONID cookie に httponly を設定する (Java EE 5)
JSESSIONID Cookie に httponly フラグを設定しようとしています。ただし、私は Java EE 5 で作業しており、setHttpOnly()
. doPost()
最初に、を使用して、サーブレット内から独自の JSESSIONID Cookie を作成しようとしましたresponse.setHeader()
。
それがうまくいかなかったとき、私は試しresponse.addHeader()
ました。それもうまくいきませんでした。次に、サーブレットがセッションを JSESSIONID Cookie に変換し、それを http ヘッダーに挿入する処理を行っていることを知りました。そのため、その Cookie を操作するには、フィルターを作成する必要があります。setHeader()
フィルターを書いて/で遊んでみましたaddHeader()
が、やはり役に立ちませんでした。
次に、応答オブジェクトがフィルターに到達する前にいくつかのフラッシュ/クローズ アクションが行われていることを知りました。そのため、データを操作したい場合は、それを拡張HttpServletResponseWrapper
して に渡す必要がありfilterChain.doFilter()
ます。これは完了しましたが、まだ結果が得られません。明らかに私は何か間違ったことをしていますが、何がわかりません。
これが当面の質問に関連しているかどうかはわかりませんが、サーブレットからブラウザーに返される html ドキュメントはありません。実際に起こっていることは、一部のオブジェクトが取り込まれ、JSP ドキュメントに返されることだけです。私は、Session オブジェクトが JSESSIONID Cookie に変換され、ブラウザーに送信される前に、要求に追加されたオブジェクトと共に http ヘッダーにラップされていると想定しています。
喜んでコードを投稿したいと思いますが、最初に理論の誤解が原因で問題が発生する可能性を排除したいと思います。
glassfish - GlassFish v3 JSESSIONID 複数のサブドメインと TLD
複数の地域 Web サイト TLD を提供するために構築されている 1 つの Web アプリケーションがあります。さらに、この Web アプリケーションは数千の動的サブドメインもサポートしています。例は次のとおりです。
ドメインTLDが異なると新しいセッションが発生することは理解できますが、上記の後者の2つの例では問題が発生し始め、新しいセッションインスタンスも発生します. たとえば、ユーザーが次の場合:
- www.example.co.uk に移動します 新しいセッションが作成され、その後...
- リンクをクリックします: fred123.example.co.uk 新しいセッションが作成され、その後...
- リンクをクリックします: sam99.example.co.uk 新しいセッションが作成されます...
3 クリック ==>> 3 セッション!!!!
この問題は、GlassFish v3 が自動的に JSESSIONID のドメインをホスト要求の FQDN にするという事実によるものと思われます。
必要なのは、少なくともドメイン値からホスト名の部分を取り除いて、次のようなドメイン値を持つようにすることです。
これを達成する方法を知っている人はいますか。次の Q&A を見つけましたが、この場合、サブドメイン TLD がすべて一致するわけではありません。
したがって、sun-web.xml を静的に構成するソリューション、または Servlet 3.0 ソリューションを使用するソリューションは役に立たないようです。また、フィルター応答ラッパーの作成も機能しません。JSESSIONID Cookie はアプリケーション サーバーの下位レベルで割り当てられ、インターセプトするために Web アプリに公開されないためです。
私が持っていると思う他の2つのオプションは次のとおりです。
a) JSESSIONID Cookie ドメイン値を FQDN に設定する GlassFish v3 コードにパッチを適用して、一部のストリッピングが発生するようにするか、または
b) Sun Web Server 7.0 のリバース プロキシ レイヤーで、set-cookie ヘッダーで返される JSESSIONID Cookie ドメイン値を書き換える必要があることを行っていますが、これを行う方法の例を見つけることができませんでした。
誰でもこの問題を解決できますか? 手がかり/ヘルプは大歓迎です!
iphone - NSHTTPCookieStorage を使用したセッション Cookie へのアクセス
サーバーの安全な情報にアクセスしていますが、要求に応じてアプリに大量の Cookie を送信します。問題は、一部の Cookie がセッションのみであり、使用する場合:
JSESSIONID という名前のセッションは返されず、問題が発生します。完全な NSHTTPCookieStorage を NSLog すると、セッションのものを表示するので、そこにあるため、ストレージからそれらを取得する方法が見つかりません。また、Cookie plist を調べたところ、セッション Cookie はそこに保存されていませんが、これは単にセッション ベースであるためだと思います。
どんな助けでも大歓迎です。
編集:これは、すべての Cookie を要求したときに得られるもののスニペットです。
上記の Cookie の URL に基づいて Cookie を要求すると、最初の Cookie は返されますが、2 つ目は返されません。
*特定のアイテムを削除しなければならないことについて申し訳ありませんが、それらは予想どおりであり、質問には関係ありません
java - JavaでセッションIDを取得するにはどうすればよいですか
Webサイトのあるページを別のページに移動するときに発生したセキュリティイメージの問題を解決するために、JavaでAPIを構築したいと思います。セキュリティイメージ文字列を使用して投稿できるように、セッションIDとCookieを取得するにはどうすればよいですか。
ありがとう
java - Firefox と Safari の JSESSIONID パスが異なる
JSESSIONID パスの設定で問題に直面しています。
Firefox では / に設定されていますが、サファリと IE では何とか %22%22 に設定されているため、Safari と Firefox を使用してログインできません。
バックエンドでTomcat 7とSpring Securityを使用しています。
この点でどんな助けでも大歓迎です。
java - JSESSIONID からサーバー名を削除
私たちのアプリケーションは JBOSS で実行され、そのフロント エンドは Apache で実行されます。外部から URL にアクセスすると、JSESSIONID は Cookie の Content プロパティ内にサーバー名を表示します。
これを削除する方法はありますか???
ありがとう、
java - jsessionid のないリソースへのアクセスが拒否されるのはなぜですか?
自分のローカル環境でうまく機能するアプリを作成しました。しかし、認証に Siteminder を使用する開発環境にデプロイすると、すべての画像と css ファイルに対して「アクセスが拒否されました」というメッセージが表示されます。認証後にURLにjsessionidが追加されていることに気付いたので、そのjsessionidを手動でコピーして画像URLに貼り付けてテストしました。画像が表示されるようになりました!
何がうまくいかないのか誰にも分かりますか?画像や css へのアクセスに jsessionid が重要なのはなぜですか?
それが役に立ったら、コード例を投稿してうれしいです...
**編集
追加のログを有効にして、問題がどこにあるのかを確認しましたが、実際に解決する方法はわかりません。
私の春のセキュリティ設定:
java - JSESSIONID に使用されるエンコーディング?
jsessionid にどのエンコーディングが使用されているか知りたいです。
jsessionid 値には常に英数字のみが含まれ、それ以外は何も含まれないため、この種のエンコーディングは URL でユーザーにとってより安全になります。