問題タブ [session-cookies]
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.
javascript - CSRF の脆弱性 / Cookie に関する質問
知っている人からの意見を求めたいだけです。私は CSRF の脆弱性を検討していましたが、これは私が知っている最も一般的な方法であると思われます。その方法は、返された html でトークンを作成し、同じ値の Cookie を追加することです。したがって、スクリプトが投稿を行おうとすると、have to guess the token thats embedded in the web page
成功するはずです。
しかし、彼らが特定の Web サイトをターゲットにしている場合、なぜ彼らはスクリプトを使用できないのでしょうか。
- ページで get を呼び出します (スクリプトがアクセスできなくても Cookie は返されます)
- HTML を解析してトークンを取得する
- そのトークンを含む投稿を呼び出します (戻ってきた Cookie が送り返されます)
- ユーザーに気づかれずにフォームを送信した
スクリプトは Cookie の内容を知る必要はありません。Cookie が常に送受信されるという事実を利用しているだけです。
ここで何が欠けていますか?これは不可能ですか?これはよく考えるとかなり怖いと思います。
この行の下は、質問に答えるために読む必要はありません:)
この脆弱性は、認証が現在行われている主な方法である Cookie に基づいて行われるという事実に依存しています。
私が考えることができる別の解決策は、認証をページレベルにすることです。したがって、ログインすると、返された html にそのトークンが含まれます。クリックするすべてのリンクにはそのトークンが含まれているため、Web サーバーが要求を受け取ると、ユーザー/セッションを識別する方法があります。それに関する問題は、それ以外のナビゲーションを使用すると、「認証されていない」(たとえば、URL を入力する) ことになり、おそらく次のようになるため、URL で見栄えがよくないことです。
https://www.example.com/SuperSecretPage/1/123j4123jh12pf12g3g4j2h3g4b2k3jh4h5g55j3h3
しかし、安全性がより重要である場合、きれいな URL が 2 位であることは理解しています。
私は Cookie についてすべてを知っているわけではありませんが、ユーザー エージェントが Cookie にもう少し注意を払っていたらどうでしょうか?
たとえば、送信される Cookie がタブによって異なる場合はどうなるでしょうか。私たちは今ではタブを使ってサーフィンしていますよね?では、Cookie のスコープがタブである場合はどうなるでしょうか。したがって、タブ 1 でバンキング サイトを開き、タブ 2 でサーフィンしている場合、タブ 2 で取得/投稿を呼び出すスクリプトは、タブ 2 で発生した Cookie のみを送信します。
または、Cookie が保存されている場合はどうなりますか / ドメイン。そのため、私が example.com にアクセスしている間、返された Cookie はすべて example.com の Cookie コレクションに入ります。そして、私が www.mybankingsite.com にアクセスすると、すべての Cookie が mybankingsite.com コレクションに入れられます。したがって、example.com にアクセスして get/post を呼び出すスクリプトを実行すると、ユーザー エージェントは example.com Cookie のみを送信します。これは、要求されたドメインの Cookie を送信することとは異なります。たとえば、スクリプトが example.com の Web ページ内で mybankingsite.com の get を呼び出した場合、ユーザー エージェントは mybankingsite.com Cookie を送信しません。
ユーザー エージェントの動作を制御できないことはわかっていますが、可能性を探っているだけです
asp.net - 複数のユーザーが同じブラウザーを使用して同じドメインにログインするのを防ぐ
したがって、2 人のユーザーが同じマシン、同じブラウザーを使用する ASP.NET の問題です。
- ユーザー 1 がドメインにログインします。
- ユーザー 1 は、一部のデータを保存せずに変更します。
- ユーザー 2 は別のタブでドメインにログインします。
- ユーザー 1 は自分のタブに戻り、データを保存します。
- User 1 は実際に User 2 にデータを保存しました!!
これは、次のメカニズムによって発生します。
- 同じブラウザの異なるタブが同じセッション ID を共有しているようです。
- ユーザー認証をCookieに保存しており、Cookieはタブ間で共有されています(同じドメイン)
したがって、ユーザー 1 が保存を要求すると、Cookie がユーザー 2 に更新されているため、ユーザー 2 として認識されます。
だから私は、これが起こらないようにする他の方法があるかどうか疑問に思っています. 2. どのユーザーがページを所有しているかを示すために、常にページに隠しフィールドを含めます。
よろしく、
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 ドメイン値を書き換える必要があることを行っていますが、これを行う方法の例を見つけることができませんでした。
誰でもこの問題を解決できますか? 手がかり/ヘルプは大歓迎です!
php - PHPセッション/Cookieを無期限にするにはどうすればよいですか?
以下のセッション変数/Cookieを設定するログインシステムを使用しています。Chromeは、あまり問題なくCookieを確認できるため、「ブラウザを閉じると」有効期限が切れるPHPSESSIDとしてラベル付けされているようです。案の定、ログインしてブラウザをシャットダウンし、新しいブラウザセッションを開くと、ログインしなくなります。
ブラウザが閉じているかどうかに関係なく、ユーザーがログインしたままになるようにするにはどうすればよいですか?意図的なログアウトが行われない限り、ユーザーが(可能であれば永続的に)ログインしたままになるようにしたいと思います。
php - PHPで別のセッションインスタンスからセッション値を読み取る方法は?
別のセッションインスタンスのセッション値を読み取る必要がある PHP で何かをしています。例
Browser1: $_SESSION['value']="user1";
Browser2: $_SESSION['value']="user2";
Browser1 は、特定のリクエストから「user2」値を取得する必要があります。リクエストには cookie(key, value) も含まれます。
どうやってやるの?
ありがとう、ワエル
asp.net - 前へ 次へ ASP.NET アプリケーションとセッション タイムアウト リダイレクト
セッションタイムアウト時にリダイレクトしようとしているアプリケーションがあるため、マスターページでリダイレクト用のセッション変数が null かどうかを確認していますが、問題は、マスターページからの他のページ (派生) と派生の Page_Load があることです。ページでいくつかのセッション変数も参照していますが、派生ページ (コンテンツ) の PAGE_LOAD イベントが最初に発生し、マスター ページ PAGE_LOAD が後で発生するため、エラーが「オブジェクト参照が設定されていません」と表示されることがわかりました。
ちなみに、LOGIN_BUTTON_PRESSED EVENTで以下のコードを書いています。
この問題を解決するための解決策を例で提案してください。
django - djangoでは、ユーザーがログアウトするとすべてのセッションデータが削除されますか?
ユーザーに関する情報を追跡する必要がありますが、一定期間、たとえば 1 週間保持したいと考えています。
request.sessions を介してこの値を設定し、ユーザーがログアウトした場合、後で再度ログインしたときに取得できますか? これはすべて、ユーザーがログアウトしない場合、通常、セッションが 30 日で期限切れになるように設定されていることを前提としています。
上記の問題について考えながら、データをテーブルに格納することにしましたが、参考のために上記の答えを知りたいです。また、信頼性が低いため、Cookie を使用しないことにしました。
php - クッキーベースのメニュー選択
私は PHP が初めてで、ページ間でユーザーのメニュー選択を保存するために Cookie をセットアップして使用する方法を知りたいです。
基本的に、ユーザーが「私たちについて」というメニューオプションをクリックすると、この選択を Cookie を介して何らかの形で保存し、それを別の場所で使用したいと思いますか?
参考までに、jquery .click 関数を使用して、どのメニュー オプションが選択されているかを判断しています。
ありがとう。
django - DjangoでHttpOnlyCookieを設定するにはどうすればよいですか?
DjangoでHttpOnlyCookieを設定するにはどうすればよいですか?
そして、XSSを防ぐために努力する価値はありますか?
php - PHPを使用して1つのインスタンスで複数のセッション?
1 つのブラウザーで 2 つのセッション Cookie を作成したいプロジェクトがあります。最初のセッションは個人を一意に識別するためのもので、2 つ目はユーザー間でセッション内のイベントを共有するためのものです。これにはデータベースを使用していますが、セッションが終了するとデータが消えるようにしたいと考えています。システム内にログインはありません。
機能を複製する Cookie システムを作成する以外に、これを行う方法はありますか?
たとえば、次の 2 つのセッション Cookie があります。
name=someRandomUUID
とsession=valueSharedBetweenUsers.
name
セッションを複数のユーザーと共有したくありませんが、セッションは共有されsession
ます。考え?