質問

を使用していCodeIgniterシステムが今も この この 先進.てもらったことに感謝申し上げで教えてもらったが、今では必要な図書館のための新しい非codeigniterプロジェクトとしてここに載りましょう周囲のためのアイデアに関する図書館もあるかないようになりましたよ。いて個からの複数の図書館にお世話になりたいと思います。

私たちの Kohana PHPのセッション 図書館などというかを返しますのPHPを利用する方法で、$_SESSION superglobalの代わりに強制力の変化をこのセッションデータアクセス。

で知りたかったんですが他にもありましたが良いセッション図書館があることがございましたy.あな取り扱いセッションならず、CRUDの機能.

  • 支援のための非クッキーに基づくセッション通過(すなわちFacebookは予想以上)
  • "フラッシュデータ"だけが持続し、次ページ負荷としては自動削除されます。
  • 作$_SESSIONはこのセッションでプログラマーがなく変更既設のコードです。
  • 設定をサポートしています新しいセッションid(session_id('id'))場所を変更したいidが途中のページです。
  • 保存データがすべてのページの請求ではなく、各時間のデータを追加または削除(省エDBクエリ).
  • 使用がサポートファイルは、クッキー、またはデータベース保管します。(memcached思)
  • 試みのアクセスを拒否する場合にセッションハイジャック.(IP useragent、 指紋)

私の時代のロジックのCodeIgniterとKohanaセッション図書館という言葉を思いつきました以下のどれか分からなくなりまセッションのページです。

/**************
** Kohana Sessions
**************/
If not native file storage {
    session_set_save_handler to the storage type (DB, cache, cookie...)
}

set the session_name() so php knows what cookie value to check

start session

/****** Saving ******/

session_write_close() which calls the given handler


/**************
** CI Sessions
**************/

Try to read_session() -> {
    session = Get cookie (if using cookies will also contain data)

    if(database) { 
        session .= pull data from database
    }

    checks if valid...

    $this->userdata = session data

} else { 
    create a new one
}

/****** Saving ******/

session data is serialized either way

if(cookie) {
    save cookie with serialized data and params like "last_activity"
}
if(database) {
    save serialized data in db and session in cookie
}
役に立ちましたか?

解決

からすでに始まっていました覧 Zend_Session?

  • を渡すことができ、セッション識別子によURLを使用PHPの設定
  • できる限定セッション変数により時間またはホップ(依頼)
  • 移行が他のアプリなことやすいと思いあるんじゃないでしょうか...とき堂 $_SESSION ご利用の際は Zend_Session
  • Zend_Session はadpaterに基づくアプローチのための保存のセッションデータです。A 保存ハンドラ のためのDBsが含まれますが、そのアーキテクチャできるカスタムハンドラに渡されます。
  • Zend_Session 支援のvalidatorをチェックの有効性です。ここにもいるオープン-アーキテクチャることを可能にするパスカスタムオブジェクトのためのバリデーションを実施します。
  • まずに電話をかけることができ、セッションでは、通称して読み取り専用にします
  • を防ぐことが出来ます。インスタンス生成のインスタンスが複数の同じセッションの名前空間
  • プラスがさらに多くの発見と Zend_Session などの再生セッションid発行を記憶することがわかったクッキーの取り消し忘れることがわかったクッキーです。

他のヒント

[OK]を、カスタムを掘りした後、非 - $ _ SESSIONベースCodeIgniterのlibに、($ _SESSIONを使用)2つのKohanaおよびZendのLIBS、および他のいくつかのセッションライブラリ私は私の答えを構築することを信じている他のプロジェクトから問題。私は(フラッシュデータを除く)上記のもののすべてを満たす何かます。

誰でも使用したい場合は、

ここでコードであります自分のライブラリーを構築しながら、それを読んだり。私は徹底的に全体のことを説明する多くのコメントを残し、その上にいくつかのフィードバックを持っているのが大好きです。それはあなたがしたい古いセッションの削除、および任意のデータベース内のセッションを保存するためのサポートを持つトークン、フラッシュベースのアップローダ、クッキー、セッションの再生ごとに5分(またはものは何でもあなたが設定)、ファイルシステム、memchache、またはその他の形式をサポートしていますセットます。

Zebra_Session、ラッパーのためのPHPのデフォルトのセッションの取扱い機能,MySQLを使用して保存

  • 行為としてラッパーのためのPHPのデフォルトのセッションを扱う機能で保存のセッションデータをフラットファイルでいただくには、MySQLデータベースを提供し、より良い、より良い性能

  • では、明るく、フレンドリー、seemingless交換すると、ファイルタイプのデフォルトのセッションハンドラ:PHPのセッションで使用されるようにするライブラリーんを変更する必要がある既存のコード!

  • 実行ロックを確保し、データが正しく取り扱うシナリオは、複数の並行AJAX請求

  • 一つのファイルのみ

  • 成熟した最適化を常に開発した

  • 非常に良い書類

あなたはCIでこれを使用することができます。 EchoSessionする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top