タグ付けされた質問 「session-cookies」

22
JSON Webトークンの無効化
私が取り組んでいる新しいnode.jsプロジェクトの場合、Cookieベースのセッションアプローチから切り替えることを考えています(つまり、IDを、ユーザーのブラウザーでユーザーセッションを含むKey-Valueストアに格納します)。 JSON Web Token(jwt)を使用したトークンベースのセッションアプローチ(Key-Valueストアなし)に。 このプロジェクトは、socket.ioを利用するゲームです。単一のセッション(webおよびsocket.io)に複数の通信チャネルがあるようなシナリオでは、トークンベースのセッションがあると便利です。 jwtアプローチを使用して、サーバーからトークン/セッションの無効化をどのように提供しますか? また、この種のパラダイムで注意する必要のある一般的な(または一般的でない)落とし穴/攻撃についても理解したいと思いました。たとえば、このパラダイムが、セッションストア/ Cookieベースのアプローチと同じ/異なる種類の攻撃に対して脆弱である場合。 だから、私は次のものを持っていると言います(これとこれから適応されます): セッションストアログイン: app.get('/login', function(request, response) { var user = {username: request.body.username, password: request.body.password }; // Validate somehow validate(user, function(isValid, profile) { // Create session token var token= createSessionToken(); // Add to a key-value database KeyValueStore.add({token: {userid: profile.id, expiresInMinutes: 60}}); // The client …

4
cURLを使用してCookieを送信する方法
私はcurlでSend cookieが機能することを読みましたが、私には違います。 私はRESTエンドポイントを持っています: class LoginResource(restful.Resource): def get(self): print(session) if 'USER_TOKEN' in session: return 'OK' return 'not authorized', 401 私がアクセスしようとすると: curl -v -b ~/Downloads/cookies.txt -c ~/Downloads/cookies.txt http://127.0.0.1:5000/ * About to connect() to 127.0.0.1 port 5000 (#0) * Trying 127.0.0.1... * connected * Connected to 127.0.0.1 (127.0.0.1) port 5000 (#0) > GET …

5
PHPセッションの修正/ハイジャック
PHP セッションの修正とハイジャック、およびこれらの問題を防ぐ方法について、もっと理解しようとしています。Chris ShiflettのWebサイトで次の2つの記事を読んでいます。 セッション固定 セッションハイジャック しかし、私が物事を正しく理解しているかどうかはわかりません。 セッションの固定を防ぐには、session_regenerate_id(true)を呼び出すだけで十分です。誰かが正常にログインした後?私はそれを正しく理解していると思います。 また、セッションの乗っ取りを防ぐために$ _GETを介してURLで渡されるトークンを使用することについても話します。これはどのように正確に行われますか?誰かがログインしてトークンを生成してセッション変数に格納すると、各ページでそのセッション変数を$ _GET変数の値と比較すると思いますか? このトークンを変更する必要があるのは、セッションごと、またはページの読み込みごとに1回だけですか? また、URLで値を渡さなくてもハイジャックを防止できる優れた方法ですか?これはかなり簡単になります。

30
リダイレクト後にPHPセッションが失われる
PHPでリダイレクト後にセッションが失われる問題を解決するにはどうすればよいですか? 最近、リダイレクト後にセッションが失われるという非常に一般的な問題が発生しました。そして、このWebサイトを検索した後も、解決策は見つかりません(ただし、これが最も近くなりました)。 更新 私は答えを見つけたので、同じ問題を経験している人を助けるためにここに投稿したいと思いました。


2
ステートレス(セッションなし)およびCookieなしの認証を行う方法は?
ボブは何かを達成するためにWebアプリケーションを使用します。そして: 彼のブラウザはダイエット中であるため、クッキーをサポートしていません。 Webアプリケーションは人気があり、特定の瞬間に多くのユーザーに対応します。適切にスケーリングする必要があります。セッションを維持することが同時接続数に制限を課し、そしてもちろん無視できないパフォーマンスのペナルティをもたらす限り、私たちはセッションのないシステムを持ちたいかもしれません:) 重要な注意事項: 我々は持っているトランスポート・セキュリティ(HTTPSとその親友が)。 カーテンの裏側では、Webアプリケーションは現在のユーザーに代わって多くの操作を外部サービスに委任します(これらのシステムはBobをユーザーの1人として認識します)。つまり、Bobの資格情報を転送する必要があります。 では、どのようにしてボブを認証するのですか(すべてのリクエストで)。そのようなことを実装する合理的な方法はどれでしょうか? HTMLフォームの非表示フィールドを介して資格情報でテニスをする... ボールには資格情報(ユーザー名とパスワード)が含まれ、2つのラケットはそれぞれブラウザーとWebアプリケーションです。つまり、Cookieではなくフォームフィールドを介してデータをやり取りする場合があります。各Web要求で、ブラウザーは資格情報を投稿します。ただし、1ページのアプリケーションの場合、これはテニスではなく、ゴムの壁でスカッシュをするように見えます。これは、資格情報を含むWebフォームがWebページの存続期間全体にわたって維持される可能性があるためです。 (サーバーは、資格情報を返さないように構成されます)。 ユーザー名とパスワードをページのコンテキストに保存する-JavaScript変数など。ここでは単一ページが必要、IMHO。 暗号化トークン-ベースの認証。この場合、ログインアクションにより、暗号化されたセキュリティトークン(ユーザー名+パスワード+その他)が生成されます。このトークンはクライアントに返され、今後のリクエストにはトークンが付随します。これは理にかなっていますか?すでにHTTPSを使用しています... その他... 最後の手段:これを行わないで、資格情報をセッションに保存してください!セッションはいいです。クッキーの有無にかかわらず。 以前に説明されたアイデアのいずれかに関して、Web /セキュリティの懸念が思い浮かびますか?例えば、 タイムアウト - 資格情報とともにタイムスタンプを保持する場合があります(タイムスタンプ=ボブが資格情報を入力した時間)。たとえば、NOW-timestamp> thresholdの場合、リクエストを拒否する可能性があります。 クロスサイトスクリプティング保護-どのような違いもないはずですよね? これを読んでくれてありがとう:)


8
PHPのsession_unset()とsession_destroy()の違いは何ですか?
php.netのドキュメントから: session_destroy —セッションに登録されているすべてのデータを破棄します session_unset —すべてのセッション変数を解放します 私の3部構成の質問は次のとおりです。 2つの機能は非常に似ているようです。 2つの違いは何ですか? どちらも、セッションに登録されているすべての変数を削除しているようです。それらのいずれかが実際にセッション自体を破壊しますか?そうでない場合、これをどのように達成しますか(セッション自体を破棄します)。 2つの関数のどちらもクライアントでセッションCookieを削除しないのは正しいですか?

11
ASP.NETWebサイトでCookieを削除する方法
私のウェブサイトでは、ユーザーが[ログアウト]ボタンをクリックすると、Logout.aspxページにコードが読み込まれますSession.Clear()。 ASP.NET/C#では、これによりすべてのCookieがクリアされますか?または、私のWebサイトのすべてのCookieを削除するために追加する必要のある他のコードはありますか?


2
SameSiteおよびSecure属性を使用したGoogleタグマネージャーのCookieの設定
Chromeは次の警告を報告しています: 属性なしで、https://www.googletagmanager.com/のクロスサイトリソースに関連付けられたCookie が設定されましたSameSite。Chromeの将来のリリースでは、とが設定されている場合にのみ、クロスサイトリクエストでCookieを配信SameSite=NoneしSecureます。開発者ツールのApplication> Storage> CookiesでCookieを確認し、https://www.chromestatus.com/feature/5088147346030592およびhttps://www.chromestatus.com/feature/5633521622188032で詳細を確認できます。 このタイプの警告が2つあります。私が見る3枚のクッキーがありgtm_auth、gtm_previewとgtm_debug。すべてのセッションCookie。私が見るgtm_authとセットでSecureの属性(SameSite属性が空です)。他の2つのCookieにはどちらの属性も設定されていません。 ちなみに、これらはマーケティングCookieではなく、分析Cookieとして分類されています。 を使用してGoogle Tag Manager、これらのCookieを設定または変更するにはどうすればよいですか?コードのCookieを更新するつもりはありません。を使用してCookie属性を追加できるはずGoogle Tag Managerです。でこれに対処する方法については、Googleのスタンスは何であるGoogle AnalyticsとGoogle Tag Manager?

3
PHPにSameSite = NoneをクロスサイトCookieに使用するように指示する方法は?
こちらの記事によるとhttps://php.watch/articles/PHP-Samesite-cookies and PHP documenation at https://www.php.net/manual/en/session.security.ini.php、2つしかありませんPHP 7.3で追加された、この新機能の可能な構成オプション: session.cookie_samesite = Lax session.cookie_samesite = Strict ただし、Chromeコンソールによると、これは「なし」に設定する必要があります。 URLのクロスサイトリソースに関連付けられたCookieがSameSite属性なしで設定されました。彼らがで設定されている場合、Chromeは今だけ、クロスサイトリクエストでクッキーを提供して、ブロックされているSameSite=NoneとSecure。デベロッパーツールの[アプリケーション]> [ストレージ]> [Cookie]でCookieを確認し、URLとURLで詳細を確認できます。 このため、クロスサイトCookieを設定できなくなりました。回避策は何ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.