發(fā)布時(shí)間:2021-02-27
欄目:其他
我是個(gè)茉鳥免費(fèi)代理ip驗(yàn)證工具 引人註目,在尋求建站系統(tǒng)時(shí),找到了傳說(shuō)中靈活度最高溝通機製,最好用的網(wǎng)站管理系統(tǒng)好宣講,也就是我要說(shuō)的帝國(guó)cms,于是下載了個(gè)EmpireCMS v 6.0來(lái)研究一下領先水平,在學(xué)習(xí)帝國(guó)CMS的過程中,側(cè)重了解了一下帝國(guó)的工作原理,大量的函數(shù)戰略布局,耗了我?guī)滋鞎r(shí)間才理清楚個(gè)來(lái)龍去脈事關全面。不經(jīng)意間,發(fā)現(xiàn)一個(gè)疑是帝國(guó)CMS的bug狀態,這個(gè)BUG不大不小技術節能,對(duì)平時(shí)的使用基本沒什么影響,也就是在刪除數(shù)據(jù)表的時(shí)候可能遇到廣泛認同。下面我就放出來(lái)吧國際要求,讓高手們進(jìn)一步確認(rèn)。
在/e/class/moddofun.php中有個(gè)刪除副表分表函數(shù)
function DelDataTable($add,$userid,$username){
global $empire,$dbtbpre,$emod_r;
//操作權(quán)限
CheckLevel($userid,$username,$classid,"table");
$tid=(int)$add['tid'];
$tbname=RepPostVar($add['tbname']);
$datatb=(int)$add['datatb'];
if(!$tid||!$tbname||!$datatb)
{
printerror("NotChangeDataTable","history.go(-1)");
}
$tr=$empire->fetch1("select tid,tbname,datatbs,deftb from {$dbtbpre}enewstable where tid='$tid'");
if(!$tr['tid'])
{
printerror("NotChangeDataTable","history.go(-1)");
}
if(!strstr($tr['datatbs'],','.$datatb.','))
{
printerror("NotChangeDataTable","history.go(-1)");
}
if($tr['deftb']==$datatb||$datatb==1)
{
printerror("NotDelDefDataTable","history.go(-1)");
}
$newdatatbs=str_replace(','.$datatb.',',','代理驗(yàn)證軟件 ,$tr['datatbs']);
$sql=$empire->query("update {$dbtbpre}enewstable set datatbs='$newdatatbs' where tid='$tid'");
//刪除信息
$infosql=$empire->query("select * from {$dbtbpre}ecms_".$tr[tbname]." where stb='$datatb'");
while($infor=$empire->fetch($infosql))
{
$mid=$emod_r[$infor[classid]]['modid'];
$pf=$emod_r[$mid]['pagef'];
$stf=$emod_r[$mid]['savetxtf'];
代理驗(yàn)證軟件//分頁(yè)字段
if($pf)
{
if(strstr($emod_r[$mid]['tbdataf'],','.$pf.','))
{
$finfor=$empire->fetch1("select ".$pf." from {$dbtbpre}ecms_".$tr[tbname]."_data_".$datatb." where id='$infor[id]'");
$infor[$pf]=$finfor[$pf];
}
}
//存文本
if($stf)
{
$newstextfile=$infor[$stf];
$infor[$stf]=GetTxtFieldText($infor[$stf]);
DelTxtFieldText($newstextfile);//刪除文件
}
//刪除信息文件
DelNewsFile($infor[filename],$infor[newspath],$infor[classid],$infor[$pf],$infor[groupid]);
//刪除其它表記錄
$empire->query("delete from {$dbtbpre}enewsqf where id='$infor[id]' and classid='$infor[classid]'");
$empire->query("delete from {$dbtbpre}enewsinfovote where id='$infor[id]' and classid='$infor[classid]'");
$empire->query("delete from {$dbtbpre}enewsdiggips where id='$infor[id]' and classid='$infor[classid]'");
//刪除附件
DelNewsTheFile($infor['id'],$infor['classid']);
}
$deltb=$empire->query("delete from {$dbtbpre}ecms_".$tr[tbname]." where stb='$datatb'");
//刪除表
$deltb=$empire->query("DROP TABLE IF EXISTS {$dbtbpre}ecms_".$tr[tbname]."_data_".$datatb.";");
GetConfig(1);//更新緩存
if($sql)
{
//操作日志
insert_dolog("tid=".$tid."
tbname=".$tr[tbname]."&datatb=$datatb");
printerror("DelDataTableSuccess","db/ListDataTable.php?tid=$tid&tbname=$tr[tbname]");
}
else
{
printerror("DbError","history.go(-1)");
}
}
巴比站長(zhǎng)
紅色部分鍛造,作者的意思應(yīng)該是從模型緩存數(shù)組里獲取當(dāng)前要操作的欄目對(duì)應(yīng)的模型ID競爭激烈,但本人通過輸出emod_r的全部?jī)?nèi)容,發(fā)現(xiàn)這個(gè)數(shù)組里并沒有以模型ID(modid元素)工具,而其第一維下標(biāo)應(yīng)該是模板ID(newstempid)智慧與合力,這條語(yǔ)句取出的mid可能是錯(cuò)誤的。那么后續(xù)操作要么誤操作重要的角色,要么失敗開放要求。我翻開當(dāng)時(shí)學(xué)習(xí)時(shí)的記錄(現(xiàn)在已經(jīng)記得不清楚了),寫了個(gè)替代的語(yǔ)句平臺建設。
上一篇:MySQL官方源從8.0.3直接yum升級(jí)到8.0.4后無(wú)法啟動(dòng)
下一篇:北京衛(wèi)生監(jiān)督所收集網(wǎng)絡(luò)醫(yī)托證據(jù) 將聯(lián)合多部門調(diào)查
文章地址:http://61py.com/article/other/ysdgCMSEmpireCMSvzxBUG.html

- 1通王CMS 2.0簡(jiǎn)介
- 2黑帽網(wǎng)站排名檢測(cè)
- 3MySQL中經(jīng)典的too many connection怎么破
- 4網(wǎng)易郵箱洪陸駕:反垃圾郵件需集合全球力量
- 5站群友鏈換鏈神器
- 6云勢(shì)軟件VirgoEDC助力安徽萬(wàn)邦推動並實現、迪時(shí)咨詢等公司臨床試驗(yàn)數(shù)據(jù)采集智能化
- 7Authorize 屬性通過聲明的方式保護(hù)控制器或其部分方法
- 8域名是稀有資源薄弱點,好的域名覆蓋範圍,在一定時(shí)期內(nèi)會(huì)越來(lái)越升值
- 9解析常見的PHP緩存技術(shù)有哪些
- 10對(duì)ASP.NET程序員非常有用工具