最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于DISCUZ不用通行證登陸得內(nèi)容介紹第2/2頁

 更新時間:2008年10月04日 15:56:39   作者:  
DISCUZ是中國最常用的論壇,雖然他本身有通行證給大家連接,但實際上用戶的統(tǒng)一還是很不好,經(jīng)常要建立兩個用戶表,第一不利于注冊和管理,第二浪費數(shù)據(jù)庫。

我們var_dump($_COOKIE)一下,發(fā)現(xiàn)顯示的是:array(5) { ["eVb_cookietime"]=> string(7) "2592000" ["eVb_oldtopics"]=> string(3) "D1D" ["eVb_sid"]=> string(6) "HfxRDJ" ["eVb_auth"]=> string(68) "LSwuxyf7QECdnc+9AxgOihQvc1ScFQQsUvgnafBVrFmuHq8DlIvj57rq1PVRlJ05g1Kb" ["eVb_visitedfid"]=> string(1) "2" }(可能有不一樣的地方,不用著急)
我們這里注意一下eVb_auth,其實我們的加密信息被存儲到這個COOKIE里了,這里的EVB是DISCUZ默認(rèn)的COOKIE前綴,如果你更改了COOIKE的話這個也會變化。
所以我們就要處理這個eVb_auth;
function is_login()
{
if(isset($_COOKIE['eVb_auth'])){
list($discuz_pw, $discuz_secques, $discuz_uid) = isset($_COOKIE['eVb_auth']) ? explode("\t", authcode($_COOKIE['eVb_auth'], 'DECODE','123')) : array('', '', 0);

$discuz_pw = addslashes($discuz_pw);
$discuz_secques = addslashes($discuz_secques);
$discuz_uid = intval($discuz_uid);

// 不存在$_DCOOKIE['auth']的話 就直接清楚COOKIE
if(isset($_COOKIE['eVb_auth']) && !$discuz_uid) {
clearcookies();
}
if($discuz_uid){
$sql = "SELECT `username`,`groupid` FROM `cdb_members` WHERE `uid`='$discuz_uid'";
$rs = $this -> _db -> query($sql);
$row = $this -> _db -> fetch($rs);
$discuz_groupid = $row['groupid'];
$discuz_username = $row['username'];
return $array = array("discuz_uid"=>$discuz_uid,"discuz_groupid" => $discuz_groupid,
"discuz_username" => $discuz_username);
}
}else{
if(isset($_COOKIE['eVb_sid'])){
$sid = $_COOKIE['eVb_sid'];
$sql = "SELECT `uid`,`username`,`groupid` FROM `cdb_sessions` WHERE sid ='$sid'";
$rs = $this -> _db -> query($sql);
$row = $this -> _db -> fetch($rs);
if($row){
$discuz_groupid = $row['groupid'];
$discuz_username = $row['username'];
$discuz_uid = $row['uid'];
return $array = array("discuz_uid"=>$discuz_uid,"discuz_groupid" => $discuz_groupid,
"discuz_username" => $discuz_username);
}else{
return 0;
}

}else{
return 0;
}
}
}

我們先看if(isset($_COOKIE['eVb_sid'])){前的這部分
個人感覺唯一要解釋一下的就是這句:list($discuz_pw, $discuz_secques, $discuz_uid) = isset($_COOKIE['eVb_auth']) ? explode("\t", authcode($_COOKIE['eVb_auth'], 'DECODE','123')) : array('', '', 0);

這是將EVB_AUTH解密的過程,這里用DECODE來解密,記得后面的123是你的KEY,要保持一直,不然解密不會成功的。
然后在看下半部分:
DISCUZ是通過SESSION和COOKIE兩種方式加密的,而他的SESSION保存在數(shù)據(jù)庫中,我們下邊這部分就是利用當(dāng)沒有$_COOKIE['eVb_auth']時,用$_COOKIE['eVb_sid']來取出信息;這不過是個數(shù)據(jù)庫操作,沒啥好將的,這樣,通過建立和讀取我們就可以取出DISCUZ的信息了。

相關(guān)文章

最新評論

海南省| 上犹县| 古蔺县| 家居| 潜山县| 玉林市| 十堰市| 精河县| 平果县| 无极县| 呼图壁县| 清丰县| 溧水县| 绥德县| 福泉市| 饶阳县| 姜堰市| 普兰店市| 同仁县| 靖江市| 将乐县| 宜都市| 长治市| 高邑县| 轮台县| 米林县| 新野县| 柏乡县| 红安县| 类乌齐县| 黑水县| 故城县| 和田县| 长岛县| 若尔盖县| 班戈县| 临高县| 上思县| 永川市| 平邑县| 积石山|