2024国产成人精品免费视频|日本免费一区二区三区毛片|久久97超碰色中文字幕|亚洲天堂a中文字幕

長(zhǎng)沙論壇制作:Discuz論壇動(dòng)態(tài)附件路徑淺析

2015-11-25 16:54 欄目:技術(shù)開(kāi)發(fā) 查看(12604)

Discuz是什么估計(jì)不需要說(shuō),只要了解Web的人基本上都聽(tīng)說(shuō)過(guò),特別是接觸過(guò)PHP的朋友。在最近的一個(gè)項(xiàng)目中就是跟附件有關(guān)系的,因此這里就簡(jiǎn)單的看看這個(gè)附件路徑的這些事兒。其實(shí)有時(shí)候我們分析思考些問(wèn)題還是很有趣的,下面我們就開(kāi)始吧。

forum.php?mod=attachment&aid=

ODYzODkzfDM3OTRkYWE1fDE0NDg0Mzk1NzV8MTY3NDA0MnwyMDIyNTg1&nothumb=yes

上面就是論壇的一張圖片附件的下載地址,可以看到forum.php腳本中有三個(gè)參數(shù),第一個(gè)不用說(shuō)就是M是attachment,后面一個(gè)是跟縮略圖相關(guān)的;這里我們主要說(shuō)說(shuō)中間這一個(gè),這個(gè)aid參數(shù)跟附件在數(shù)據(jù)表中的id字段aid一樣,那么它后面的值是什么呢?難道是隨機(jī)生成的毫無(wú)規(guī)律的字符么?

在模版的discuzcode.htm中我們可以看到這里的aid是$aidencode變量,而繼續(xù)往上我們可以看到imagelist方法,里面有這么一句代碼:

$aidencode = packaids($attach);

很顯然,這個(gè)地方又留下了packaids,這個(gè)方法在function_attachment.php中

function packaids($attach) {
  global $_G;
  return aidencode($attach['aid'], 0, $_G['tid']);
}

這個(gè)方法中又有一個(gè)aidencode方法,我們可以在核心函數(shù)庫(kù)中找到這個(gè)方法,這個(gè)方法的代碼如下:

function aidencode($aid, $type = 0, $tid = 0) {
   global $_G;
   $s = !$type ? $aid.'|'.substr(md5($aid.md5($_G['config']['security']['authkey']).TIMESTAMP.$_G['uid']), 0, 8).'|'.TIMESTAMP.'|'.$_G['uid'].'|'.$tid : $aid.'|'.md5($aid.md5($_G['config']['security']['authkey']).TIMESTAMP).'|'.TIMESTAMP;
   return rawurlencode(base64_encode($s));
}

到這里我們就應(yīng)該明白了這是什么意思了,也就是這段亂七八糟的東西其實(shí)包含了附件的id、網(wǎng)站的安全碼md5后的前紀(jì)委、時(shí)間、用戶(hù)id等信息。我們現(xiàn)在可以用base64_decode方法來(lái)把開(kāi)頭的字符串跑一下。結(jié)果出現(xiàn)返回如下信息:

863893|3794daa5|1448439575|1674042|2022585

上面依次就是該附件的id、安全碼(處理后的)、時(shí)間、我的ID號(hào)、主題ID;其實(shí)這里好像暴露了我的什么東西,對(duì)這條信息是Discuz上面的,呵呵,事情就是這樣子的。

本文為微構(gòu)網(wǎng)絡(luò)旗下Discuz開(kāi)發(fā)團(tuán)隊(duì)木泉網(wǎng)原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處!

與我們的項(xiàng)目經(jīng)理聯(lián)系
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流

轉(zhuǎn)載請(qǐng)注明出處:長(zhǎng)沙論壇制作:Discuz論壇動(dòng)態(tài)附件路徑淺析 - 微構(gòu)網(wǎng)絡(luò)
分享:
安陆市| 金门县| 江达县| 寿阳县| 阿拉善右旗| 靖西县| 泰州市| 彭泽县| 美姑县| 双柏县| 海丰县| 西华县| 渭南市| 慈利县| 崇州市| 改则县| 旬阳县| 江华| 安化县| 阿拉善右旗| 泽库县| 农安县| 司法| 改则县| 随州市| 西林县| 稷山县| 青河县| 宜宾县| 宜昌市| 淳化县| 枣强县| 大同县| 浦北县| 东山县| 沧州市| 凤山市| 宾阳县| 南宁市| 威远县| 古浪县|