PHPカンファレンス関西2024 の登壇資料です。 Cookie を使った Session 管理について解説しています。
はじめに こんにちは。バックエンドエンジニアの小笠原です。 今回は、2022年2月18日から2022年3月4日にかけて発生していたこちらの障害に対し私達開発チームが実施した、session.cookieで定義しているCookieのkey名を変更するという影響範囲の大きい対応について、実施に至るまでの経緯や対応過程についてご紹介したいと思います。 ショップオーナー向けに掲載していたお知らせの内容 背景 全ては iOS14.5から端末識別子の取得に同意が必要になったことから始まった ことの発端は、iOS14.5以降からIDFA(端末ごとに持つ固有識別子)の取得に端末所有者の許可が必要になったことでした。 この変更は、端末所有者側から見ると情報の活用範囲を自身で管理できることでよりプライバシーに配慮されるようになった良い変更と言えるでしょう。 一方で、広告出稿側から見た場合は拒否をしたユーザーの
Laravel 5.3になって、認証の部分が変りました。それに関していっぱい紹介したいことありますが、それは将来でのポストとして、今回は、「ログインのRemember Me」に関して学んだことを紹介します。 以下の画面のようにログインには、 「Remember Me」あるいは「次から入力を省略」、ログインのときにオンとすると次回から毎回毎回ログインする必要ないよという便利な機能。巷ではどこでも見かけます。 Laravelでも、認証のパッケージのインストール、 $ php artisan make:auth を実行すると、デフォルトでついてくる機能です。 さて、この「Remember Me」でどうやってログインを要らなくするのか、そのメカニズムを探ってみましょう。 まず、「Remember Me」をクリックしてログイン成功すると、以下のように2つのクッキーを作成します。 laravel_se
(Last Updated On: 2018年8月13日)PHPのセッションモジュールはセッションアダプションに脆弱なのですが、開発者の理解が得られず何年間も放置されています。 セッションアダプション脆弱性: 未初期化のセッションIDを受け入れてセッションを確立する脆弱性。 PHPのセッションIDはデフォルトでドメイン指定無し、パスは/に設定されています。専用サイトならこれであまり困ることは無いのですが、複数のアプリケーションやユーザが利用するようなサイトでは問題になります。 例えば、Chromeはパスよりドメインが優先されるのでドメインを利用したセッションIDの固定化などが起きます。IEではドメインよりパスが優先されるのでパスを利用したセッションIDの固定化などが起きます。 session_regenerate_id()を使えばOK、と考えている人も多いようですが既に設定済みのクッキーの
2007年11月29日07:15 カテゴリ書評/画評/品評 Immortal Session の恐怖 さすがの私も、今夜半の祭りにはmaitter。 私のtwitterが荒らされていたのだ。 荒らし発言は消してしまったが、にぽたんがlogを残してくれている。 nipotumblr - Dan the cracked man 一部で言われているように、本当にパスワードが抜かれたかどうかまでは解らない。が、状況としてはnowaがベータテスト段階で持っていたCSRF脆弱性をついた荒らしにそっくりだった。 にぽたん無料案内所 - こんにちはこんにちは!! この時も、私のnowaのメッセージに荒らしが入った。パスワードを変更しても暫く荒らしが続いていた点も似ている。 ここでの問題は、 bulkneets@twitter曰く(直接リンクは避けます) 問題は本人が気付いてもパスワード変えてもセッション残
はじめてやってみた。 普段は qw/Session Session::Store::FastMmap Session::State::Cookie/のコンボだったんだけど qw/Session Session::Store::FastMmap Session::State::URI/にしてみて携帯対応にしてみた。 携帯なんかだとクッキーつかえないっていうんで、URLにセッションIDを付加する。 configには下記のように session => { param => 'sid', verify_address => 'true', },これでURLの最後に?sidでセッションIDを付加してくれます。 終わり(はやっ) Catalyst::Plugin::Session::State::URI にか以下のように記載されています。 Session Hijacking URI sessions
Catalyst 5.65 で、下記のプラグインを使って実装してます。 Catalyst::Plugin::ConfigLoader 0.03 Catalyst::Plugin::FormValidator::Simple 0.09 Catalyst::Plugin::FillInForm 0.06 Catalyst::Plugin::Authentication 0.05 Catalyst::Plugin::Authentication::Credential::Password Catalyst::Plugin::Authentication::Store::DBIC 0.05002 Catalyst::Plugin::Session 0.05 Catalyst::Plugin::Session::Store::Memcached 0.02 Catalyst::Plugin::Sess
@ セッションにmemcachedを使うかどうか なぜmemcachedをセッション管理用に使うのか Why storing session on memcached? なんか僕のエントリが元になり軽く議論になっているようですが... 個人的にはmiyagawaさんのVox/LJの方針に賛成で、「消えては困るデータ」はプライマリーのストレージとしてmemcachedを使うのではなく、MySQLに入れる方が安全だと思います*1 MySQL 使ってると、セッションデータを定期的に消してやらなきゃいけないけど DELETE FROM sessions WHERE timestamp >= '2006-12-01 00:00:00'; とかはすごく重かったりして、ここでまた刺さる というのは、InnoDB+timestampカラムにインデックス張れば解決するのではないかと思いますが、そんな単純な話
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く