邪恶八进制信息安全团队技术讨论组's Archiver

EvilOctal 2007-3-19 02:52

[转载]关于Koobi与PHPwind的整合

原始出处:[url]http://9rel.com/bbs/thread/59/4432/[/url]

前段时间找了篇关于PW和Koobi整合的资料,昨晚试着搞了搞,未果。看来还需要加强学习。


总体思路:
1、使用Koobi的用户管理(以Koobi为主角)
2、整个整合工作包括:用户注册->登录、用户登录、用户注销、用户资料修改、用户资料删除。
3、要做的工作是在以上每个进程中,实现PW与Koobi的用户数据同步

以下是注册->登录的代码,在Koobi的注册文件中适当位置插入它们。
[code]//PW用户表中用户名检查
$pw_sql = $db->Query("SELECT email FROM pw_members WHERE username='".escs($_REQUEST['uname'])."'");

//PW用户表中同名邮箱检查
$pw_sql = $db->Query("SELECT email FROM pw_members WHERE email='".escs($email)."'");

//////////////////////////phpwind signup//////////////////////////////////////
    if($_REQUEST[title]=='1'){$reg_sex='1';}
    else{$reg_sex='0';}
      $pw_q="INSERT INTO pw_members (
        username,
        password,
        email,
        publicmail,
        groupid,
        memberid,
        icon,
        gender,
        regdate,
        signature,
        introduce,
        oicq,
        icq,
        site,
        location,
        bday,
        receivemail,
        yz,
        signchange
        ) VALUES (
        '$_REQUEST[uname]',
        '". md5($_REQUEST['pass']) ."',
        '$_REQUEST[email]',
        '1',
        '-1',
        '8',
        '',
        '$rg_sex',
        '" . time() . "',
        '',
        '',
        '',
        '',
        '',
        '$_REQUEST[street]',
        ". $dbq . ",
        '1',
        '1',
        '1'
        )";
      $db->Query($pw_q);//插入新用户

      $winduid=mysql_insert_id();
      $db->Query("INSERT INTO pw_memberdata (uid,postnum,rvrc,money,lastvisit,thisvisit,onlineip) VALUES ('$winduid', '0', '0', '0', '" . time() . "', '" . time() . "', '')");

      $db->Query("UPDATE pw_bbsinfo SET newmember='$_REQUEST[uname]',totalmember=totalmember+1 WHERE id='1'");//更新“欢迎新用户”数据

//////////////////////////phpwind signup//////////////////////////////////////

//////////////////////////新注册用户自动登录//////////////////////////////////////
//BASEDIR是在其它系统中定义的网站根目录
      include_once(BASEDIR."/support/data/bbscache/config.php");//for include 'db_hash' ''db_ckpath' 'db_ckdomain' value
      $timestamp=time();

      function StrCode($string,$action='ENCODE'){
        $key  = substr(md5($_SERVER["HTTP_USER_AGENT"].$GLOBALS['db_hash']),8,18);
        $string  = $action == 'ENCODE' ? $string : base64_decode($string);
        $len  = strlen($key);
        $code  = '';
        for($i=0; $i<strlen($string); $i++){
          $k    = $i % $len;
          $code .= $string[$i] ^ $key[$k];
        }
        $code = $action == &#39;DECODE&#39; ? $code : base64_encode($code);
        return $code;
      }

      function PwdCode($pwd){
        return md5($_SERVER["HTTP_USER_AGENT"].$pwd.$GLOBALS[&#39;db_hash&#39;]);
      }
      $windpwd=$_REQUEST[&#39;pass&#39;];
      setCookie("winduser",StrCode($winduid."\t".PwdCode($windpwd)), $timestamp+31536000,$db_ckpath,$db_ckdomain);
      setCookie("ck_info",$db_ckpath."\t".$db_ckdomain); //设置COOKIE有效目录$db_ckpath,COOKIE有效域名$db_ckdomain相关
      setCookie(&#39;lastvisit&#39;,&#39;&#39;,0); //将$lastvist清空以将刚注册的会员加入今日到访会员中[/code]

页: [1]
© 1999-2008 EvilOctal Security Team