問題タブ [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.
tomcat - JsessionidがURLの途中に表示されます
使用しているもの:Spring MVC 3.0、Apache Tiles 2.1.2、Apache Tomcat 6.0.29、Dojo 1.5
2回目にブラウザがTomcatにヒットすると、URLの途中にjsessionidが飛び散ってURLがジャックアップされます。
例えば
最初のリクエスト:http:// localhost:8081 / accessmenus / menus / main
2番目のリクエスト:http:// localhost:8081 /; jsessionid = 45A05E88DD78A06B1C99C3C02D45D65Caccessmenus / menus / main
(後続のすべてのリクエストにはjsessionidがありません)
何か案は?
web.xml:
webmvc-config.xml:
Tomcat server.xml:
perl - Perl WWW::Mechanize JSESSION の問題
Web サイトへの perl mechanize でのログインの取得/維持に問題があります
ヘッダーを見ると、JSESSIONID が変化し続けているように見えます。Cookie jar を使用していますが、なぜか上書きされていると思います。
security - 最初のリクエストでのみ Jsessionid を持つことの脆弱性は何ですか
最近、URL から jsessionid を削除し、「セッション ハイジャック攻撃」を防ぐために Cookie ベースのセッション管理を行いました。
しかし、Cookie が有効な場合、最初のリクエスト URL には常に jsessionid があり、後続のリクエスト URL には jsessionid がないことがわかりました。
最初の URL の jsessionid を使用すると、ワークフロー内の他のページに直接アクセスできます
質問 : 最初のリクエストでのみ jsessionid を公開するセキュリティ上の脆弱性はありますか?
最初のリクエストから jsessionid を削除する解決策がありますが、変更を強制するのに本当に脆弱かどうかを確認したかったのです
ありがとうJ
編集:疑問が明確になりました。返信ありがとうございます。
servlets - Http ヘッダーを直接操作して、Cookie JSESSIONID を HttpOnly で更新するにはどうすればよいですか?
これが全体像です
「HttpOnly」を JSESSIONID Cookie に追加したいのですが、これを手動で行いたいのです。つまり、次のことを意味します。
これは、すべてのサイトにマップされるサーブレット フィルターで行われます (フィルターの URL パターンは "/*" です)。
- このフィルターを 1 回だけ実行するにはどうすればよいですか? つまり、ログイン時、または
- リクエストごとに実行して、この Cookie が既にマークされているかどうかを確認し、答えが「はい」の場合はスキップする必要がありますか?
助言がありますか ?
PS:
- サーブレット 3.0 にアップグレードするように言わないでください。今はできないからです。
- StringBuilder の不適切な使用と変数 sessionId の欠落を無視する
session - Tomcatの有効期限付きJSESSIONIDCookie
Tomcatがサーブレットセッション用に送信するJSESSIONIDCookieの有効期限を設定する最良の方法は何ですか?
デフォルトでは、Cookieの有効期限は「セッション」のように見えます。これは、ブラウザが再起動するとすぐにセッションがクライアントに表示されなくなることを意味します。ただし、ブラウザを再起動した後でも、12時間開いたままにしておきたいと思います(それに応じてサーバーでセッションタイムアウトを構成します)。
構成オプションや拡張モジュールを使用するなど、Tomcat内で有効期限を設定する方法はありますか?または、サーブレットフィルタを使用してJSESSIONIDの有効期限を設定する信頼できる方法はありますか?
tomcat - URLのjsessionidのAmazonLoadBalancerスティッキセッション設定
現在、Tomcatワーカー用にAmazon Load Balancerをセットアップしようとしていますが、1つの問題に直面しました。
スティッキーセッションを使用してJSESSIONID
いますが、ほとんどのリクエストでCookieを使用できます。ただし、一部のリクエストには、次のようにURLにセッション情報が含まれています。
http://myserver.com/contextPath/someAction;jsessionid=BA6853C23F795BD5EEDAEA996E601BB8
そしてそれは機能しません(そしてリクエストは間違ったワーカーに転送されます)。
AWS Load Balancerjsessionid
はURLでサポートしていますか?いいえの場合、おそらくあなたはいくつかの回避策を知っていますか?
Apache + mod_proxy_balancerを使用すると、たとえば、次のように定義できます。
java - spring mvc の URL 書き換えで jsessionid を削除する
私はSpring MVCを使用していて、jsessionidに問題があります.ブラウザでCookieが有効になっていない場合、jsessionidがURLに挿入されていることがわかりました.
http://localhost/categories;jsessionid=Bsls4aQFXA5RUDcmZKV5iw?cid=13001
実際にはブラウザに問題はありませんが、Google が私のサイトをクロールすると、Google クローラーは Cookie を持っていないようです :)、彼らは私のサイトの URL をその形式で保存し、私のサイトは jsessionid を含む URL のような URL を持つ検索結果に表示されます。
実際には問題なく動作していますが、Google の検索結果に jsessionid なしで明確に URL が表示されるようにしたいと考えています。
何か助けはありますか?
java - なぜ私にトークンを覚えているのですか?
Webサイトに「rememberme」機能を実装しているときに、セッショントークンとは別に、物事を複雑にし、remembermeトークンと呼ばれるトークンを使用するのはなぜですか。
私の理解の限りでは、セッショントークンは数分間、またはユーザーがブラウザを閉じるまでしか持続しないのに対し、トークンを使用してログインして新しいセッショントークンを作成できることを覚えておいてください。セッショントークン自体の有効期限を、ユーザーがログインするまでの希望の時間まで延長できないのはなぜですか?
このような機能をTomcat上で実行されるフレックスベースのアプリケーションに実装する必要があり、トークンを覚えておく必要があるのではないかと思います。
また、Tomcat内でこの機能をすぐに使用できるようにすることは可能ですか?
jquery - JSessionId (httponly Cookie) が Javascript から Web サービスに送信されない
URL https://secure-ausomxeja.crmondemand.com/OnDemand/でロードする Web アプレットがあります... 同じドメイン内で Web サービス呼び出しを行っているところから (https://secure-ausomxeja.crmondemand) .com/Services/Integration) JQuery を使用します。すべてが同じドメインで行われているにもかかわらず、JSessionId (httponly Cookie) が JQuery Web サービス呼び出しで渡されないという事実を理解できません。興味深いことに、Web サービスの URL がhttps://secure-ausomxeja.crmondemand.com/OnDemand/ ...で始まる場合(正しくありませんが)、ブラウザーは Cookie を適切に渡します。
問題は、httponly Cookie がサーバーに送り返されるためには、同じドメインまたは最初のディレクトリ (この場合は OnDemand) の名前さえあれば十分でしょうか?
以下は、JSessionId Cookie を渡さないコード スニペットです。
以下は、JSessionId Cookie を渡すコード スニペットです (ただし、その場所で利用できる Web サービスがないため意味がありません)。
java - JSESSIONID Cookie のパスを変更することはできますか?
デフォルトでは、Glassfish は JSESSIONID Cookie を「/mysite」などのコンテキスト パスに保存します。このパスを「/mysite/admin」などに変更することはできますか? セッションを 2 つの別々の Web サイトに分割せずに、Web サイトの一部でのみ有効にしたいと考えています。