タグ

sessionに関するbigwestのブックマーク (18)

  • PHPアプリケーションのセッション管理にAmazon DynamoDBを使う | DevelopersIO

    こんにちは。望月です。 先日のブログエントリで、冗長化されたWebアプリケーションでのセッション管理にAWS ElastiCacheを利用する方法を紹介しました。 PHPアプリケーションのセッション管理にAWS ElastiCacheを使う 前回のブログを書いた際に私も勘違いをしていたのですが、ElastiCacheのmemcachedを使う方法には一つ欠点があります。ElastiCacheのmemcachedではレプリケーション機能がサポートされていないため、セッション情報が保管されているElastiCacheノードが不調に陥ると、どちらのサーバからもセッション情報を読み取ることができなくなってしまいます。やはり重要なデータはレプリケーションをしたうえで、必ずRead/Writeができる状態で保管しておきたいものです。 そこで登場するのがAmazon DynamoDBです。DynamoD

    PHPアプリケーションのセッション管理にAmazon DynamoDBを使う | DevelopersIO
  • CakePHPのセッションタイムアウトの指定はSession.timeoutだけではダメだった

    CakePHP 2.xで、セッションタイムアウトの時間を指定しようとすると、下記のように書くと思います。 Config/core.php Configure::write('Session', array( 'defaults' => 'php', 'timeout' => 1440, //1days ←単位は分 )); しかし、これだけではダメだったりするのです。 具体的には、1日経たなくてもセッションタイムアウトしてしまいます。 その理由は、PHPでのセッションファイルのガベージコレクションにあります。 PHPでは、セッションを開始すると(session_start())、ふつうはセッションファイルを作成します。 CentOS6.2にyumでPHPを入れた場合は、/var/lib/php/sessionあたりです。 CakePHPのcore.phpで、Session.defaultsを

    CakePHPのセッションタイムアウトの指定はSession.timeoutだけではダメだった
  • セッションアダプションがなくてもセッションフィクセイション攻撃は可能

    大垣(@yohgaki)さんと、セッションアダプション脆弱性が「重大な脅威」か否かで論争を続けています。 大垣さん:第25回 PHPのアキレス腱 ── セッション管理徳丸:PHPSession Adoptionは重大な脅威ではない大垣さん:PHPのセッションアダプション脆弱性は修正して当然の脆弱性議論がかみ合わないので、twitterで「ブログ読みました。サンプルも動かしました。問題は分かるのですが、セッションアダプションがないPHPだと、何が改善されるのかが分かりません。教えて下さい」とツイートしたところ、大垣さんがブログで返信下さいました。 大垣さん: セッションアダプション脆弱性がないセッション管理が必要な理由これを読んでかみ合わない理由が分かりました。大垣さん、ありがとうございます。以下大垣さんのブログの末尾を引用します。 脱線しましたが、何が改善されるのか?結論は ログイン時に

    セッションアダプションがなくてもセッションフィクセイション攻撃は可能
  • DynamoDB : PHPのセッション管理に使う - aws memo

    AWS SDK for PHPには、DynamoDBSessionHandlerというセッションを管理するクラスがあるので、比較的楽に導入が可能。 Amazon Linuxでの環境設定 パッケージインストール(DynamoDBアクセス用のCacheとしてAPCも入れる) $ sudo yum install php php-pear php-xml httpd php-pecl-apc $ sudo pear channel-discover pear.amazonwebservices.com $ sudo pear install aws/sdk 次に、セッション管理ハンドラーを用意 $ sudo vi /var/www/html/dynamosessions.php $ sudo cat /var/www/html/dynamosessions.php <?php date_defa

    DynamoDB : PHPのセッション管理に使う - aws memo
  • セッションとHTTPとHTTPSの関係 - せとっちの備忘録(技術系)

    ログインの仕組みとセッション サイトへのログインを作るときにはセッションを利用するのが 一般的です。 認証できたらセッションにIDなんかを書き込んでおいて、 アクセスされる度にセッションの中に値が存在するかどうか チェックしたりするわけです。 で、ログインは個人情報を通信するわけだから、 HTTPではなくてHTTPS通信でやりましょう、となる訳なんですが、 ログインしたと思ったら、ログインしていない判定をされてしまう…。 これはなぜなのか、という話です。 セッションの連続性 セッション管理は通常CookieにセッションIDを渡して、 サーバに問い合わせをするとき、一緒にCookieの情報も渡して、 そのセッションIDからセッションを特定し、値を取り出したり書いたりするわけですが、 どうも最近のブラウザはHTTPSで受け取ったCookieはHTTP通信に なった時には渡さないようです。 つま

    セッションとHTTPとHTTPSの関係 - せとっちの備忘録(技術系)
  • PHPセッションアダプションをスクリプト側で修正する方法

    (Last Updated On: 2018年8月13日)PHPのスクリプトを使ってアダプティブなPHPセッションをアダプティブにしない方法を紹介します。 このブログで紹介していたかどうか覚えていないですが、セッションアダプション対策としてsession_regenerate_id()が導入された時に議論・紹介されているので知っている方も多いと思います。(というより、PHPerの常識ですよね?) まずはセッションアダプションの原理と対策の復習をしておきます。 原理: 未初期化のセッションIDを受け入れる 対策: 初期化済みセッションIDのみ受け入れる session_regenerate_id()は新しいセッションIDを生成して新しいセッションクッキーを作成して、セッションデータを保存するようになっています。session_regenerate_id()を呼んだだけでは、なんらかの方法で複

    PHPセッションアダプションをスクリプト側で修正する方法
  • はてなブログ | 無料ブログを作成しよう

    RTA in Japan Winter 2024 に行ったら頭がリフレッシュできた 会場に着くとでかいスクリーンにTwitchで見る配信画面が映っていて、RTA in JAPANを見に来たんだなという感覚が確かなものになった。 空いている席に座ってゲームを見ていると、当たり前だがとにかく高速でゲームが進んで行く。この日はポケットモンスターピカチュウ …

    はてなブログ | 無料ブログを作成しよう
  • http://www.machu.jp/posts/20060701/p01/

  • PHPでセッション情報が作成されるタイミングを調べてみました

    皆さん、こんにちは。笹亀です。 MacBookAirの発表&発売やiPhone4の白の発売日が再々延期ということでいろいろな出来事がありました。白を待っていた自分にとっては残念なのと黒を買ってしまおうかと悩んでいます。 さて、日は今まで何気なくセッションを使用していましたが、実際にファイルベースのセッションのやりとりでファイルが作成されるタイミングはどこなんだろう?っと疑問に思い、実際にPHPのセッションの作成されるファイルの流れについて調べてみました。 日はその流れについてご紹介をさせていただきます。 PHPでセッションの情報の流れを調べるにはPHP体のソースをみるのもいいですが、手軽に確認するために「session_set_save_handler」関数で調べることにします。 ※所々にデバック確認用に出力しております。 <?php function open($save_path

    PHPでセッション情報が作成されるタイミングを調べてみました
  • [ステップアップ! CakePHP]セッションをデータベースに保存する | バシャログ。

    この前の日曜日に WOWOW でやってたラシャド・エバンス vs ランペイジ・ジャクソンの録画をまだ観られてなくてモンモンとしてる kimoto です。今日こそ帰って観るぞ! さて、CakePHP 連載の第4回。日はセッションの保存場所をデータベースにする方法をお話します。 なぜデータベースに入れるのか? デフォルトでセッションを利用すると、その情報はファイルに記されます。 そのままでももちろん問題ないですが、例えば Web サーバが複数台あり、セッションを共有しなければならない時などは、「DB に保存する」というのが選択肢の一つとなります。 では設定方法をお話します。 CakePHP では設定も楽チン。 1.まずはコンフィグの書き換え config ファイルの書き換えをします。 書き換えるファイルは「app/config/core.php」です。 [102行目あたり] データベースで管

    [ステップアップ! CakePHP]セッションをデータベースに保存する | バシャログ。
  • ACL Caching using Session (Articles) | The Bakery, Everything CakePHP

    ACL checks can be costly and would benefit from caching. One approach would be to use Cake's Caching system, as implemented in http://bakery.cakephp.org/articles/view/caching-acl-permissions-with-cachedaclcomponent. Presented here is a different approach, where the cache is stored using Session. How it works Results of ACL checks are stored in the Session variable 'Acl'. Every time an ACL check is

  • PHPのSession Adoptionは重大な脅威ではない - ockeghem's blog

    なぜPHPアプリにセキュリティホールが多いのか?:第25回 PHPのアキレス腱にて、大垣靖男氏がPHPSession Adoption問題について取り上げている。大垣氏は度々この問題を取り上げているが、今のところ氏の主張に同調する人を見かけない。それもそのはずで、大垣氏の主張は間違っていると私は思う。 以下、大垣氏の主張を実際に試してみる形で、順に説明しよう。 大垣氏の主張 大垣氏の主張は、PHPにはSession Adoption脆弱性があるために、標準的なSession Fixation対策であるsession_regenerate_id()を施しても、その対策は有効ではないというものだ。 しかし,実際には現在に至るまでPHPのセッションモジュールのセッションアダプション脆弱性は修正されないままになっています。このために,来はsession_regenerate_id関数をログイン

    PHPのSession Adoptionは重大な脅威ではない - ockeghem's blog
  • データベースを用いたセッションデータ管理について - LukeSilvia’s diary

    Web アプリケーションとは切っても切れないセッション機構。DB ベースでセッション管理を行なって得られた知見と、それを元に考察した結果をまとめてみます。 セッションデータの特性 DB で管理される他のデータに比べ、セッションデータはかなり特殊です。主な特徴は次のような感じ。 データが増加するのが速い 定期的な削除が必要 頻繁に更新される リクエスト毎に読みに行く必要がある このデータを読めないとアプリケーション全体にアクセスできない アクセス頻度が高いということです。あと、1つ目の特徴からセッションデータについては意識的に管理してやる必要があります。 現在の環境 アプリケーションの領域が少し特殊で、セッションデータがやたらたまります(ユーザ数何百万のサービスとかそういうのではないです)。 RDBMS MySQL 4.0.22 ストレージエンジン InnoDB レコード数 6千万 テータサ

    データベースを用いたセッションデータ管理について - LukeSilvia’s diary
    bigwest
    bigwest 2009/06/02
    データベースでのセッション管理
  • PHPセッションのGC | まつぼっくりんご

    PHPのセッションハンドラをデフォルトで使っている場合のガーベージコレクタ(GC)の話。 PHPはサーバ上で保存してあるセッション情報を保存してあるファイルをを定期的に削除している。 削除するタイミングはPHPが起動する時、HTTPリクエストまたはコマンドラインからPHPが起動した際に一定の確立でGCが起動するようになっている。Javaのアプリケーションサーバならメモリ上にJVMが常駐しているからプログラムの起動とは非同期にできるが、PHPは同期で処理している。そのため、PHPではGCが起動したときにプログラムの実行時間が長ってしまう。 よって、大規模サイトになったときには必然的にセッションファイルが扱うセッションが多くなるため、GCにかかる時間が長くってしまうから、GCはPHPに任せないで自前で用意すべき。 PHPのGCを制御する設定はphp.iniに記載されている以下の3つ。 ses

    bigwest
    bigwest 2009/04/08
    セッション掃除はスクリプトに任せる
  • MemcachedではなくRepcachedをセッション管理に使用する(ついでにTokyo Tyrantについても少し)

    森川です。 複数台のWebサーバでセッション管理をする場合、NFS・DB・Memcachedなんかが一般的ですが、今回はMemcachedじゃなくてレプリケーションができるRepcachedを使ってみよう!というお話です。 まずは、Repcachedの話です。といってもMemcachedにレプリケーション機能が追加されたものというものです。 RepcachedはKLab株式会社さんのクラブラボで公開されています。インストール方法などについては、リンク先のページを見ればわかると思います。 今回のエントリで重要なのは、 ・高速であること (Memcachedと遜色ない) ・レプリケーションができること (1台が落ちてもデータが失われない) ・Memcachedのクライアントが使えること(設定を変更する必要がない) ということです。 ただし、割り当てたメモリを超えてデータを保存した場合には、デー

    MemcachedではなくRepcachedをセッション管理に使用する(ついでにTokyo Tyrantについても少し)
  • ke-tai.org » Blog Archive » PHPでケータイからセッションを使う場合の設定方法

    PHPでケータイからセッションを使う場合の設定方法 Tweet 2007/12/12 水曜日 matsui Posted in PHP, サーバ | 23 Comments » 今回は、ケータイ上からPHPのセッションを使う場合の設定方法についてです。 ケータイからPHPのセッションを機能を使う場合、端末によってはクッキーが利用できない場合があるため、そのままでは使うことができません。 セッションを使いたい場合は、インストール時のconfigureオプションに、「–enable-trans-sid」を付ける必要があります。 ※Windowsの場合は特に設定の必要はありません。 また、「php.ini」の設定で、次のように設定してください。 ※設定変更後はWebサーバの再起動が必要です session.use_trans_sid = 1 もしくは「.htaccess」でも設定することができま

  • YappoLogs: Apache 2.2.0 のロードバランス機能(mod_proxy_balancer)を使いこなす

    Apache 2.2.0 のロードバランス機能(mod_proxy_balancer)を使いこなす Apache 2.2がでました。 mod_dbdとか、mod_proxy_balancerとか気になる新機能てんこ盛りです。 ひげぽんさんの所に 誰か入れてみた人いますか? と有ったのでmod_proxy_balancerを試してみました。 超簡単でした mod_proxyとmod_proxy_balancerを参考にしました。 既に日語ドキュメント完備! 以下から駆け足で、またセキュリティ的によろしくない設定例が多々あります。 とりあえずこんな設定を仕込んでみました ProxyPass /lb balancer://TEST stickysession=sesid <Proxy balancer://TEST> #1 BalancerMember http://i.yappo.jp lo

  • Apache 2.2でWebサイトをパフォーマンスアップ!(3/3) - @IT

    Apache 2.2でWebサイトをパフォーマンスアップ! - 最新Apacheの機能と設定方法教えます - 鶴長 鎮一([email protected]) 2006/3/14 ロードバランスクラスタを使う Apacheには、レスポンスの遅いサーバの代わりに応答するプロキシ機能が提供されています。Apache 2.0でも、通常のフォワードプロキシおよびWebサーバの負荷分散を可能にするリバースプロキシに対応していました。 Apache 2.2ではリバースプロキシ機能をさらに高め、トラフィック量やリクエスト回数に応じたロードバランシングが可能になっています。ロードバランスされるバックエンドサーバは、Apacheを再起動することなくオン/オフラインにできます。バックエンドサーバがダウンした場合は、自動的にそのサーバを切り離し、復旧後自動的に復帰させるといったことも可能です。 ■ロードバランス

    bigwest
    bigwest 2006/08/28
    Apacheのバランサーでセッションを保つ
  • 1