5

私のciセッションでこの奇妙な問題があります。ローカルホストでは正常に動作しますが、オンラインではログにエラーが表示されます。

セッションCookieデータが予想と一致しませんでした。これは、ハッキングの試みである可能性があります。

すべてのCookieを削除し、セッションテーブルを空にしました。また、user_agentの長さを255に設定しました。ベースパスも正しいです。セッションIDをログに記録すると、次のようになります。

ログインページで、username / pwをチェックするときに、IDが同じである場合、IDが変更されたメンバーエリアに移動します。

別の例:
1。メンバーエリアに移動し、セッションIDが設定され、ログインしていない、ログインに送信された
2.ログインページで、セッションIDが変更され、ログイン
3.検証、セッションIDが変更されていない、i検証され、メンバーエリアに送信されます
。4。メンバーエリアで、セッションIDが変更され、ログインしていません。

ログインページでは、セッションテーブルは0行をカウントしますが、ログインすると、セッションテーブルは2/3行をカウントします。それらのうちの1つですが、現在のセッションIDを持つものはすべての正しいデータを保持していません。

うまくいけば、誰かがこれで私を助けることができます。

4

2 に答える 2

4

Codeignitorのネイティブphpセッションライブラリに問題があると思います。Cookieが設定されていないと設定されないため、説明している問題が発生します。さらに、セッションを認識できなくなります。この問題を回避するために、ネイティブセッションクラスを使用できます

ここに私の答えをサポートするためのいくつかのリンクがあります。 Cookieの問題/MAMP/ Codeingiter http://myphplibrary.blogspot.in/2012/03/codeigniter-session-issue-fixation.html

于 2012-05-09T18:21:10.513 に答える
1

確認すべき点がいくつかあります。

  1. サーバーの現地時間と現地時間-設定されたCookieの有効期限が切れている可能性がありますか?確認するには-$config['sess_expiration']の時間を9999999のように設定し、それが機能するかどうかを確認します

  2. $config['encrypt_cookie']をオフにします

  3. $config['sess_match_ip']をオフにします

  4. 正しいCookie情報を設定していることを確認してください。

    $config['cookie_prefix']    = "";
    $config['cookie_domain']    = // YOUR DOMAIN
    $config['cookie_path']      = // YOUR BASE URI
    $config['cookie_secure']    = FALSE;
    
于 2012-05-09T17:15:57.260 に答える