ホームページ >バックエンド開発 >PHPチュートリアル >セッション、Cookie 共有、セッション損失に関連する問題、1 週間経過しました

セッション、Cookie 共有、セッション損失に関連する問題、1 週間経過しました

WBOY
WBOYオリジナル
2016-06-13 13:35:22770ブラウズ

セッション、Cookie 共有、セッション損失の問題は 1 週間前から発生しています。
Cookie は自動ログインのみを保存します。
session は、セッションが保存されるナビゲーション列の名前です (中国語と英語の名前システム)。全部で30個近くあります。例:

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->$session['userInfo']='用户中心';

すべてのセッションは head.php にあり、すべてのファイルによって参照されます。
コードの一部は次のとおりです:
PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?php 
if(($_POST['admin_user']!="")&&($_POST['admin_pass']!=""))
{
    require_once("image/conn.php");
    
    $number=(get_magic_quotes_gpc())?trim($_POST['admin_user']):addslashes(trim($_POST['admin_user']));
    $pass=(get_magic_quotes_gpc())?trim($_POST['admin_pass']):addslashes(trim($_POST['admin_pass']));
    
    $q=$m->query("select authority from setting_user where number='".$number."' and password='".$pass."'");
    $r=$q->fetch_array(MYSQLI_USE_RESULT);
    (int)$authority=$r['authority'];//权限分配
    
    if($q->num_rows>0){
        //分配显示名
        $qShow=$m->query("select * from setting_display where user='".$number."' order by id desc limit 1");
        $rShow=$qShow->fetch_array(MYSQLI_USE_RESULT);{
            $_SESSION['receiving']=$rShow['receiving']?$rShow['receiving']:NULL;
            $_SESSION['po']=$rShow['po']?$rShow['po']:NULL;
                        // 很多session 在这里


            
            if($_POST['remeberMe']){
            setcookie("u",$number,time()+3600);
            setcookie("p",$pass,time()+3600);
            }
        }
        $_SESSION['auth']=$number;

        switch($authority){

            case 1:echo "<script>window.location.href='main.php?o=show';</script>";$_SESSION['admin']=1;break;
            default:echo "<script>window.location.href='main.php?o=show';</script>";$_SESSION['admin']=NULL;break;
            }
    }
    else{
            echo "<script language=javascript>alert('用户名或密码输入错误!');</script>"; 
        }
}
?>



すべてのページが追加されます。
PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?php session_set_cookie_params('3600');session_start(); ?>


これらのセッションはデータから取得されていますが、80 秒未満の使用後に、ランダムな名前が (正しくは) 漢字から数字や文字に変更されるのはなぜでしょうか。


-----解決策---------
紛らわしい名前ですか?

ページのエンコーディングは一貫していますか?
------解決策------------------
セッションやCookieの値が途中で変更されましたか? session_set_cookie_params のせいでしょうか?
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。