問題タブ [missing-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.
java - Java HttpURLConnection Cookie なし
英語:
こんにちは、私は現在、HttpURLConnection でログインしてからセッション Cookie を取得しようとしています...
私はすでに自分のサーバーのいくつかのテストページでそれを試しましたが、それは完全に機能します. 「a=3&b=5」を送信すると、「8」が Cookie として取得されます (PHP ページは両方を追加します)。しかし、他のページでそれを試してみると、POSTで何も送信しなかったかのように、出力はページだけです:(
改善のための一般的な提案は大歓迎です! :)
私のコード:
asp.net - asp.net クロス サーバー httpwebrequest Cookie ログイン
姉妹サイトを作成中です。ログインしているユーザーが姉妹サイトにログインできるようにしたい。
ユーザーは両方のデータベースに入力され、一致するトークン (guid) を持っています。
姉妹サイトへの httpwebrequest を介してトークン認証ページにトークンを投稿しています。姉妹サイトは、一致するトークンを使用してデータベースからユーザーを見つけます。
(ここまでは順調ですね)
トークン認証ページ (httpwebrequest 経由) は、フォーム認証がチェックする Cookie を設定することになっています。(その後、ページは姉妹サイトにリダイレクトされ、ユーザーはログインする必要があります。)
問題は最後の部分です。Cookie は、httpwebrequest を介して token-auth ページによって設定されていません。したがって、フォーム認証は失敗し、ユーザー ログインが表示されます。
CookieContainer 経由で httpwebrequest からの Cookie が表示されます。ただし、コンピューターの Cookie に保存されていません...そして、リダイレクトの認証は失敗します。
httpwebrequest 経由で Cookie を保存する方法を知っている人はいますか? これは可能なはずですよね?
ここにいくつかのコードがあります:
HttpWebRequest ページ (ロード時)
認証トークンページ
Auth-Token ページを取得して Cookie をファイル システムに保存する方法を教えてください。クロスドメインの問題ですか?これについて他にどのようにしますか?
また、トークン ページを使用せずにサイトから直接ログインすると、フォーム認証は Cookie を使用して機能することにも注意してください。私はこのコードを何年も使用してきました。私はそれが問題ではないと確信しています。token-authページを使用する場合、Cookieは認証に対して存在しません。
php - サーバーを切り替えた後、SafariとIEだけでLaravelセッションが失敗するのはなぜですか?
Webmin、Apache Centos 6、Laravel アプリケーション、および古いデータベース スキーマを備えた新しい VPS サーバー。古い共有ホストではすべて正常に動作しますが、VPS では何らかの理由で Laravel のセッション ストレージ (Laravel 3.0) が Safari または Internet Explorer で動作しなくなりました。
セッション ID がクライアントに保存されていないようです。LaravelセッションIDを強制的にクライアントブラウザに保存する良い方法はありますか?
Chrome/Firefox が完全に正常に動作しているように見える場合、Safari/IE がこの問題を引き起こしている可能性のある Cookie を保存する方法の違いは何ですか?
php - SQL クエリからすべての結果が得られない
Cookie (お気に入りの項目) を使用してクエリを作成しようとしています
FavNum は多少冗長ですが、フォールバックできるお気に入りが 0 の場合に備えて、単にお気に入りの数をカウントしています。
クエリは次のようにエコーします。
ご覧のとおり、上記のコードはシリアル番号に対応する 6 つの数字です。このクエリをコピーして Navicat に直接貼り付けると、クエリは 6 つの結果を返します。
続き:
これにより、次のエコーが返されます。
ファイルには他の部分はありません。現在、クエリの php ファイルを取得し、トラブルシューティングのためにファイルのこの特定の部分にそれを削除しました...ご覧のとおり、5 つの結果しか得られません。クエリ エディターは 6 つの結果を取得しています。
それで、これが問題を絞り込むのに役立つかどうかわからないいくつかのテストを行いました...
番号返してます。もちろんループ内です。永遠に止まることはありませんが、番号が戻ってきます...そして、はい...それは私が見逃しているものです。
cookies - ログイン後に HTMLUnit が JESSIONID 以外の Cookie を読み取らない
私のアプリケーションは、ログインが成功した後、応答に Cookie 'XYZ' を追加します。この Cookie は、ログイン後のアプリの特定の動作を決定します。
私は shiro FormAuthenticationFilter を使用しています。これが Cookie の追加方法です。
この Cookie が正しく設定されていないため、HTMLUnit を使用してこの動作をアサートする機能テストは失敗します。Chrome でアプリを使用すると、問題なく動作します。HTMLUnit テストをデバッグすると、ログインに成功した後、次のメソッドであることが証明されました。
アプリケーションによって設定された追加の Cookie「XYZ」ではなく、JESSIONID Cookie のみを返します。
注: ログイン後以外のページにこの Cookie を設定すると、htmlunit が取得します。
考えてください?
python - 要求は、リダイレクトされた URL の空のリストを返します
Python requests モジュールを使用しています。リダイレクトが true に設定された初期 URL を提供します。
リクエスト履歴リダイレクト = resp.history を使用してキャプチャしたベース URL から 2 つのリダイレクトが発生します。
問題は、2 番目のリダイレクト リクエストで、応答ヘッダーに設定されている Cookie が見つからないように見えることです (request.cookies は空のリストを返します)。
Chrome の場合:
URL でカールを実行したり、Python リクエスト モジュールを使用して処理したりしても、これらの Cookie が設定されていません。
これは、混乱を引き起こしているリダイレクトされた URL です。
これに関するヘルプをいただければ幸いです。
ありがとう!
php - 製品ページで Prestashop の Cookie が失われた / 非表示になった
クッキーに問題があります。
Prestashop のインストールをあるホスティングから別のホスティングに移動しました。1つを除いて、すべて正常に機能しています。製品ページに入ると、カートは空で、ログインしているユーザーはいません。他のURL(製品ページを除く)を入力すると、カート内のすべてのアイテムは同じ構成になります製品ページに入る前に、ユーザーはまだログインしています。
しかし、投稿データを使用して製品ページをロードすると、問題なく動作するように見えます! この投稿データは、私のカスタム モジュールによって送信されます。
このモジュールを使用すると、ユーザーは税込みまたは税抜きの価格を表示するかを選択できます。ユーザーが初めて私の店に入るとき、彼は 1 つのオプションを選択する必要があります。次に、彼はボタンを押して、選択したオプションでフォームを送信します。私のモジュールは彼のオプションを Cookie に保存し、二度とポップアップを表示しません。すべてのページで使用可能な Cookie があるため、すべてのページで機能します (ポップアップは表示されません)。
製品ページに入ると、ポップアップが再び表示され、モジュールがなかったかのように、カートが空で、ログインしているユーザーがいないことがわかります。
しかし、モジュール オプションの 1 つを選択してフォームを送信すると、製品ページがすべての Cookie (すべてのカート項目、ログに記録されたユーザー、およびモジュールからの保存済みオプション) とともにリロードされます。
更新を押して投稿データを再送信しても機能しますが、更新せずに製品の URL を入力すると (投稿データを再送信)、Cookie が再びありません。
この問題は私のモジュールとは関係ありません。私はそれを使って試していたので、古いホスティングではうまく機能していました。
これを手伝ってもらえますか?
asp.net - .net mvc 一部のユーザーに Cookie がありません
asp.net MVC アプリケーションにカスタム フォーム認証を使用していますが、Cookie を持っていないように見える一部のユーザーに問題があります。使用しているカスタム フォーム認証方法は、このカスタム フォーム認証に似ています。基本的に、カスタム プリンシパルと ID を作成し、シリアル化し、 FormsAuthenticationTicket の UserData プロパティに格納します。
ログイン
次に、global.asax の Application_AuthenticateRequest イベントで認証 Cookie を取得します。
global.asax - Application_AuthenticateRequest
web.config
これは大多数のユーザーにとっては問題なく機能しますが、認証 Cookie が設定されていないように見えるユーザーもいます。Elmah エラー ログにさらに情報を追加するためにいくつかのテストを行って、問題についてさらに詳しい情報が得られるかどうかを確認しました。
まず、Login メソッドで authcookie を設定する前後に、いくつかのテスト Cookie を設定してみました。これらの Cookie はElmah のログに記録されていないため、この方法で任意の種類の Cookie を追加しても機能していないようです。ただし、ASP.NET_SessionId、Google アナリティクス Cookie など、ログには他の Cookie があり、アプリケーションの他の場所に設定した他の Cookie もある場合があります (おそらく以前のセッションから)。
次に、ログイン アクションからセッションに情報を追加し、次のアクションで authcookie が見つからない場合はエラー ログに含めてみました。Cookie の長さ (名前の長さ + 暗号化された値の長さ) と、ログイン試行の時刻を含めました。これらは両方とも、ユーザーの資格情報が有効で、アプリケーションが認証 Cookie の追加を試みる場合にのみ追加されます。生成されるエラー ログにこれらの値が表示されます。長さは常に 0 より大きく、約 2300 より大きいものは見たことがないので、サイズは問題ではないと思います。また、試行されたログインは、エラーが発生した時間と同じです。したがって、セッション変数は、エラーが発生する直前に設定されているはずです (Cookie が失われました)。
さらにいくつかのメモ-
- 特にエラーを引き起こしていると思われるブラウザはないようです (ただし、モバイル ブラウザでより多く発生する可能性があります)。
- 繰り返しますが、このサイトは大多数のユーザーで機能しているように見えますが、もちろん問題を再現することはできません
- テスト Cookie が表示されていないため、何らかの理由でその時点でログイン メソッドから Cookie が設定されていないと推測しています (ただし、以前の成功したログインを意味する別の場所に設定された他の Cookie を確認できます)。
- elmah ログの http リファラーは、通常、ログイン ページに設定されています。これは、ユーザーがログインせずに問題のあるページにアクセスしていない可能性が高いことを意味します (少なくとも一部の時間)。セッション変数の状態は、その仮定をサポートしているようです。
- これらのエラーが連続して (1 分ほど間隔を空けて) 表示されることがよくあります。これは、ログイン試行を繰り返しても問題が解決されないことを意味します (理由がわからない)。
- この問題を抱えているユーザーは、引き続き問題を抱えているようです。つまり、「くじ引きの運」ではないように見えますが、ユーザーのアカウント (Cookie の長さのセッション変数は、正しくシリアル化されていることを意味します) またはクライアント ブラウザーのいずれかに問題があります。
- モバイル デバイスではログインできたが、デスクトップではログインできなかったユーザーが少なくとも 1 人いると聞きました。
- 合計で、サイトはおそらく 10 個ほどの Cookie (追加されたさまざまなテスト Cookie をすべて含む) を使用します。テスト Cookie を追加する前は、認証 Cookie を含めて約 4 個使用していました。また、バグが発生した場合、通常、リクエストには 2 つまたは 3 つの Cookie しかないように見えるため、Cookie の数は問題ではないと思います。
この時点で、私はほとんど何でも試してみたいと思っています。セッションに保存されているカスタム ID をバックアップとして使用してセットアップを試みましたが、それを機能させることができませんでした。削除できます。)
テキストの壁で申し訳ありませんが、私たちが調査し、おそらく除外した可能性のあるすべての問題を指摘したかっただけです.
編集
別の潜在的に関連する問題があるようです。一部の ID の「IsAuthenticated」属性が false に設定されているべきではないのに、false に設定されていると思わせるエラー ログが表示されます。これを false に初期化し、ユーザーがセキュリティの質問に答えた後に true に設定します。true に設定すると、原則と認証チケット/Cookie が更新されます。カスタムプリンシパルを逆シリアル化する方法に問題があるためにこれが発生しているかどうかはわかりません。
javascript - Cookie の値を JavaScript で出力すると、Cookie が保存されませんか?
これは私のdemo.jspページで、テキストボックスにデータを入力してCookieに保存し、後でそれらの保存されたCookieを印刷しますが、最初はCookieがブラウザーに保存され、それらの値を印刷するとCookieがブラウザーに表示されません。
getData()関数にコメントなしでコメント行を入れると、Cookieは保存されませんが、ブラウザーに保存されているCookieを印刷する必要があります。