cookie验证登录肯定存在安全问题.
通常都是把用户ID加密,并保存到cookie,服务器提取的时候,好知道是谁来了,
并设定一个coolie的有效期。

解决方案 »

  1.   

    cookie常用来保存在客户端的信息,如用户名和登陆时间等,
    如果要做验证的话,安全肯定存在问题(根据用户信息有没有价值而定)
    当然加密是个不错的做法,md5()函数就可以搞定
      

  2.   

    老兄:那cookie要保存哪些值呢?
    用户id(或用户名)肯定要保存的,还保存什么呢?
    哪些要加密,用什么加密机制相对安全呢?
      

  3.   

    普通的用户认证,基本上用户名就可以,关键是要知道是谁来了。可以用Blowfish加密,在服务器再把加密后的字串可以复原,
    你也可以在加密之前,自行对字串做一个简单的扰乱(只要自己能恢复就可以)。密码之类的最好不要保存,存得太多没用,而且无形当中增加了漏洞。
      

  4.   


    function questcode($question,$customquest,$answer){
    $question = $question=='-1' ? $customquest : $question;
    return $question ? substr(md5(md5($question).md5($answer)),8,10) : '';
    }
    function PwdCode($pwd){
    global $db_hash;
    return md5($_SERVER["HTTP_USER_AGENT"].$pwd.$db_hash);
    }
    function StrCode($string,$action='ENCODE'){
    global $db_hash;
    $action != 'ENCODE' && $string = base64_decode($string);
    $code = '';
    $key  = substr(md5($_SERVER['HTTP_USER_AGENT'].$db_hash),8,18);
    $keylen = strlen($key); $strlen = strlen($string);
    for ($i=0;$i<$strlen;$i++) {
    $k = $i % $keylen;
    $code  .= $string[$i] ^ $key[$k];
    }
    return ($action!='DECODE' ? base64_encode($code) : $code);
    }
    function getckie($Var){
    if(!isset($_COOKIE[CookiePre()."_$Var"])) {
    return '';
    }
    else {
    return $_COOKIE[CookiePre()."_$Var"];
    }
    }
    function CookiePre(){
    global $db_sitehash;
    static $pre = null;
    !isset($pre) && $pre = substr(md5($db_sitehash),0,5);
    return $pre;
    }
    $password = pwdCode(md5($passowrd));
    $safecv=questcode($question,$customquest,$answer);
    $token = StrCode($id."\t".$password."\t".$safecv);
    setckie("winduser", $token);
    setckie('user_id', $id);验证时候取出id查找数据库所对应的token与取出的token做比较
      

  5.   

    谢谢楼上老兄了!
    和disuz的有点像,先研究一下了,有问题再请教!
      

  6.   

    多谢五楼老兄了,就用您这个了!
    另请教一下, global $db_hash; global $db_sitehash; //分别在实际应用中代表什么?
      

  7.   

    global $db_hash; global $db_sitehash;是安全验证码
    这些其实phpwind的源码
    好像是没次下载的安全验证码都不同
    具体应用没怎么研究过