dz x2.0用户联合登陆免激活接口(推荐)
<span style="font-size: 14px;"><strong>修改步骤:</strong>第一步:打开discuz!X1.5目录下/api/uc.php,在168行找到如下代码:</span><div><span style="font-size: 14px;"> function synlogin($get, $post) {</span><br><span style="font-size: 14px;"> global $_G;</span><br><span style="font-size: 14px;"> if(!API_SYNLOGIN) {</span><br><span style="font-size: 14px;"> return API_RETURN_FORBIDDEN;</span><br><span style="font-size: 14px;"> }</span><br><span style="font-size: 14px;"> header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');</span><br><span style="font-size: 14px;"> $cookietime = 31536000;</span><br><span style="font-size: 14px;"> $uid = intval($get['uid']);</span><br><span style="font-size: 14px;"> $query = DB::query("SELECT uid, username, password FROM ".DB::table('common_member')." WHERE uid='$uid'");</span><br><span style="font-size: 14px;"> if($member = DB::fetch($query)) {</span><br><span style="font-size: 14px;"> dsetcookie('auth', authcode("$member[password]\t$member[uid]", 'ENCODE'), $cookietime);</span><br><span style="font-size: 14px;"> }</span><br><span style="font-size: 14px;"> }<br><br></span><span style="font-size: 14px;">以下是对原代码进行修改后的完善版</span><br>
<div><span style="font-size: 14px;">//start Discuz!X1.5免激活功能 BY Jongye</span><br><span style="font-size: 14px;"> function synlogin($get, $post) {</span><br><span style="font-size: 14px;"> global $_G;</span><br> <br><span style="font-size: 14px;"> if(!API_SYNLOGIN) {</span><br><span style="font-size: 14px;"> return API_RETURN_FORBIDDEN;</span><br><span style="font-size: 14px;"> }</span><br> <br><span style="font-size: 14px;"> header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');</span><br> <br><span style="font-size: 14px;"> $cookietime = 31536000;</span><br><span style="font-size: 14px;"> $uid = intval($get['uid']);</span><br><span style="font-size: 14px;"> $query = DB::query("SELECT uid, username, password FROM ".DB::table('common_member')." WHERE uid='$uid'");</span><br><span style="font-size: 14px;"> if($member = DB::fetch($query)) {</span><br><span style="font-size: 14px;"> dsetcookie('auth', authcode("$member[password]\t$member[uid]", 'ENCODE'), $cookietime);</span><br><span style="font-size: 14px;"> }else{</span><br> <br><span style="font-size: 14px;"> $username = $get['username']; </span><br><span style="font-size: 14px;"> $query = DB::query("SELECT uid, username, password,email FROM ".DB::table('ucenter_members')." WHERE username='$username'"); </span><br><span style="font-size: 14px;"> $member = DB::fetch($query);</span><br><span style="font-size: 14px;"> $password = $member['password']; </span><br><span style="font-size: 14px;"> $email = $member['email'];</span><br><span style="font-size: 14px;"> $ip = $_SERVER['REMOTE_ADDR'];</span><br><span style="font-size: 14px;"> $time = time();</span><br> <br> <br><span style="font-size: 14px;"> $userdata = array(</span><br><span style="font-size: 14px;"> 'uid' => $uid,</span><br><span style="font-size: 14px;"> 'username' => $username,</span><br><span style="font-size: 14px;"> 'password' => $password,</span><br><span style="font-size: 14px;"> 'email' => $email,</span><br><span style="font-size: 14px;"> 'adminid' => 0,</span><br><span style="font-size: 14px;"> 'groupid' => 10,</span><br><span style="font-size: 14px;"> 'regdate' => $time,</span><br><span style="font-size: 14px;"> 'credits' => 0,</span><br><span style="font-size: 14px;"> 'timeoffset' => 9999</span><br><span style="font-size: 14px;"> );</span><br><span style="font-size: 14px;"> DB::insert('common_member', $userdata);</span><br> <br><span style="font-size: 14px;"> $status_data = array(</span><br><span style="font-size: 14px;"> 'uid' => $uid,</span><br><span style="font-size: 14px;"> 'regip' => $ip,</span><br><span style="font-size: 14px;"> 'lastip' => $ip,</span><br><span style="font-size: 14px;"> 'lastvisit' => $time,</span><br><span style="font-size: 14px;"> 'lastactivity' => $time,</span><br><span style="font-size: 14px;"> 'lastpost' => 0,</span><br><span style="font-size: 14px;"> 'lastsendmail' => 0,</span><br><span style="font-size: 14px;"> );</span><br><span style="font-size: 14px;"> DB::insert('common_member_status', $status_data);</span><br><span style="font-size: 14px;"> DB::insert('common_member_profile', array('uid' => $uid));</span><br><span style="font-size: 14px;"> DB::insert('common_member_field_forum', array('uid' => $uid));</span><br><span style="font-size: 14px;"> DB::insert('common_member_field_home', array('uid' => $uid));</span><br><span style="font-size: 14px;"> DB::insert('common_member_count', array('uid' => $uid)); </span><br><span style="font-size: 14px;"> DB::query("UPDATE ".DB::table('common_setting')." SET svalue='$username' WHERE skey='lastmember'");</span><br> <br><span style="font-size: 14px;"> $query = DB::query("SELECT uid, username, password FROM ".DB::table('common_member')." WHERE uid='$uid'");</span><br><span style="font-size: 14px;"> if($member = DB::fetch($query)) {</span><br><span style="font-size: 14px;"> dsetcookie('auth', authcode("$member[password]\t$member[uid]", 'ENCODE'), $cookietime);</span><br><span style="font-size: 14px;"> }</span><br><span style="font-size: 14px;"> }</span><br> <br><span style="font-size: 14px;"> }</span><br><span style="font-size: 14px;"> // end<br><br>测试没问题。<br></span></div><br></div>
页:
[1]