我在session_start()上面加了一句session_name('ss');
不知道这样有没有用?

解决方案 »

  1.   

    没有多大用的,你不过是把session变成了ss.
      

  2.   

    好象加了session_name()以后,其下的session和别的页面的session内容就不一样了,可以防止session的混淆?
    ----------------
    你不过是把session变成了ss.   这是什么意思啊?
    ------------
      

  3.   

    每次都变一下session_id也有作用
      

  4.   

    有什么用啊,我建议你把sql语句过滤好一点。
      

  5.   

    大家在判断登录用户时,是怎么判断的?看看我这样写有什么不对?
    大家帮我看看,应该怎么写才合理?
    ===========================================================以下是login.php的先几行,描述功能。//通过$_POST['admin']查询数据库
    //如果没查到,退出。
    //如果查到了,再判断$_POST['pass']与数据库中该用户的密码
    //如果不等,退出。如果相等,继续。
    //给SESSION附值,比如$_SESSION['admin'],$_SESSION['pass']----------------------------------------------
    以下是后台其它页面//先session_start();
    //如果$_SESSION['admin']为空,退出,反则,继续。
      

  6.   

    //先session_start();
    //如果$_SESSION['admin']为空,退出,反则,继续。
    这个正确
      

  7.   

    后台名字改一下,改成大小写混合的,呵呵,还有查询用户和密码时为什么要分开写呢,应该是一句SQL就能完成的吧。
      

  8.   

    最好就是密码用MD5加密过.
    我看国内很多个人作的密码都不经加密就存入数据库,而老外习惯用MD5().
      

  9.   

    //用户检测函数
    function checkuser(){
    $db = $this->db;
    $sid = session_id();
    $username = $_SESSION['username'];
    $password = $_SESSION['password'];
    if(!$username || !$password ):
    $_SESSION['username'] = "";
    $_SESSION['password'] = "";
    $message = "<center>您尚未登陆,请先登陆!</cneter>";
    return $message;
    exit;
    endif; $rs = $db->Execute("select password from " . $this->tablepre . "user where username = '$username'");
    $row = &$rs->FetchRow();
    if($row['password'] != $password):
    $_SESSION['username'] = "";
    $_SESSION['password'] = "";
    $message = "<center>您尚未登陆,请先登陆!</cneter>";
    return $message;
    exit;
    endif; $rs = $db->Execute("select * from " . $this->tablepre . "user_login where sid = '$sid'");
    $row = &$rs->FetchRow();
    $time = time();
    $onlinetime = $row['onlinetime'] + ($time - $row['time']);
    if($row['uid'] != $username):
    $_SESSION['username'] = "";
    $_SESSION['password'] = "";
    $message = "<center>您尚未登陆,请先登陆!</cneter>";
    return $message;
    exit;
    endif; $ip = ip2long(getenv("REMOTE_ADDR"));
    if($row['ip'] != $ip):
    $_SESSION['username'] = "";
    $_SESSION['password'] = "";
    $message = "<center>您尚未登陆,请先登陆!</cneter>";
    return $message;
    exit;
    endif; if($time - $row['time'] > $this->outtime):
    $_SESSION['username'] = "";
    $_SESSION['password'] = "";
    $message = "<center>您尚未登陆,请先登陆!</cneter>";
    return $message;
    exit;
    endif;
    $row = &$rs->FetchRow();
    $db->Execute("UPDATE " . $this->tablepre . "user_login set `time`='$time', `onlinetime`='$onlinetime' where uid = '$username'"); }
      

  10.   

    我的检测函数思路是这样:
    1.判断session,seesion不存在,函数有返回值.
    2.根据session记录的用户名和MD5过的密码,在数据表里面验证,不同则有返回值.
    3.判断登陆表中的登陆IP,不同则有返回值(防止同账号多处登陆).
    4.判断间隔时长,超过15分钟,有返回值.函数有返回值时为非法用户,无返回值为登陆用户,用户名为session中记录的.