用户名写入cookie,何谈不安全之说,用户名随处都可获取呵呵,就好比现在就能看到你的用户名是cyr11.
平时把用户名存在cookie里挺好的,需要注意的就是如果进行修改密码等操作时让用户输入登陆密码进行二次确认即可……

解决方案 »

  1.   

    是不是在别地方
    用户有像我的id cookie 里面有cyr11
    就可以登入了呢?
      

  2.   

    情况如下:user table:
    userid   password
    1           ads4rd
    2           6546ds
    3           abc以下是记录login的情况:
    setcookie('userid', $userid, time()+3600);
    setcookie('password', $password, time()+3600);check_login.php是这样的
    $userid = $_COOKIE[userid];
    $password = $_COOKIE[password];
    $data = mysql_fetch_assoc(mysql_query("select * from user where userid = '$userid' and password = '$password'"));
    if ($data) echo 'You are member.';
    else echo 'You are guest';A电脑进行了登入动作, 他的登入资料都记录在cookie里要是我从电脑A取得cookie档案, 那里就可以绕过登入动作?
      

  3.   

    不一定要这样的,如果你加密了,还单独依靠唯一的用户名和密码依然不行,别人可以按照这个加密过的用户名和密码进行访问,反正解密在你的服务器端,所以楼主这种情况,用SESSION最好,如果用Cookies的话,也好办,把IP地址也判断一下,就可以了。
      

  4.   

    Login的页面:setcookie('userid', $userid, time()+3600);
    setcookie('password', $password, time()+3600);
    setcookie('ip',$_SERVER['REMOTE_ADDR']);//记录登录时的IP地址
    而check_login.php是:
    $userid = $_COOKIE['userid'];
    $password = $_COOKIE['password'];
    if($_COOKIE['password'] == $_SERVER['REMOTE_ADDR'])//判断访问的用户IP地址是否是登录时的IP地址
    {
    $data = mysql_fetch_assoc(mysql_query("select * from user where userid = '$userid' and password = '$password'"));
    if ($data) echo 'You are member.';
    else echo 'You are guest';
    }
    else
    {
    echo 'You are guest';
      

  5.   

    这个是Cookies的,SESSION的,你可以在Google搜索,有很多这样的例子,我这里就不说了。
      

  6.   

    discuz和PHPwind
    均用动态cookie验证机制