0

私がやりたいことは、.NET を使用せずにセッションをデータベースに格納するカスタム PHP セッション クラスを作成することsession_set_save_handler()です。

これの目的は、 を使用してデータを簡単に保存し、 を使用serialize()して返すことができるようにすることunserialize()です。

私は一日中探していましたが、この件については何も見つかりません。誰かが私が始めるのを手伝ってくれたり、役に立つチュートリアルにリンクしてくれたりできますか?

ありがとう。

4

1 に答える 1

1

そのための組み込みのPHPセッションは必要ありません。自分でCookieを設定し、それを読み取って再度検証することができます。その時点から、完全に機能するセッションが得られます。

function createCookieString($id, $user, $created)
{
    $cookieData = array();
    $hash = $this->hashSession($id, $user, $created);

    $cookieData[] = $id;
    $cookieData[] = $user;
    $cookieData[] = $created;
    $cookieData[] = $hash;

    return implode(':', $cookieData);
}

function hashSession($id, $user, $created)
{
    $cookieSalt = 'Your Cookie Salt'; //google what a salt is in hashing if neccecary
    return md5($id.$user.$created.$cookieSalt);
}

function parseCookieString($string)
{
    return explode(':', $string);

}

Cookieを設定するには、phpのsetcookie関数を使用するだけです。

セッションをデータベースに保存するだけです。通常は非常に単純で、ID、userIDが作成された(タイムスタンプを含む)テーブルだけです。再利用可能なシークレットであるため、ハッシュをデータベースに含める必要はありません。

他にご不明な点がございましたら、お気軽にお問い合わせください。

于 2012-11-07T19:22:31.533 に答える