經(jīng)常使用帝國的朋友都知道,如果用帝國不生成靜態(tài)頁面,改用動態(tài)頁面時(shí),當(dāng)刪除了一條信息后,在點(diǎn)擊這個(gè)鏈接時(shí)會出現(xiàn)“此信息不存在”,百度抓取時(shí)狀態(tài)碼還是正常的200,那么百度爬蟲還會認(rèn)為此頁面為正常頁面,但當(dāng)我們刪除后,我們實(shí)際是要告訴百度百度此頁面已不存在,也就是狀態(tài)碼為404,而帝國的大神們沒有對此做除理,那么就需要我們自已來除理了。
我們分析動態(tài)頁面后知道正常情況當(dāng)ID不存在時(shí)會觸發(fā)printerror函數(shù),那么我們就可以真對printerror進(jìn)行除理,當(dāng)我們深入研究后發(fā)現(xiàn)一般情況下出發(fā)的函數(shù)傳入的參數(shù)如下:
if(!$classid||!$id||!$mid||!$tbname||InfoIsInTable($tbname))
{
printerror('此信息不存在','',1,0,1);
}
printerror('錯誤提示信息','提示錯誤后跳轉(zhuǎn)的URL(可為空)','錯誤提示樣式','','');
那么錯誤提示樣式為1,我們可以從e/class/connect.php中找到printerror,并可以看到下內(nèi)容:
//錯誤提示
function printerror($error="",$gotourl="",$ecms=0,$noautourl=0,$novar=0){
global $empire,$editor,$public_r,$ecms_config;
if($editor==1){$a="../";}
elseif($editor==2){$a="../../";}
elseif($editor==3){$a="../../../";}
else{$a="";}
if($ecms==1||$ecms==9)
{
$a=ECMS_PATH.'e/data/';
}
if(strstr($gotourl,"(")||empty($gotourl))
{
if(strstr($gotourl,"(-2"))
{
$gotourl_js="history.go(-2)";
$gotourl="javascript:history.go(-2)";
}
else
{
$gotourl_js="history.go(-1)";
$gotourl="javascript:history.go(-1)";
}
}
else
{$gotourl_js="self.location.href='$gotourl';";}
if(empty($error))
{$error="DbError";}
if($ecms==9)//前臺彈出對話框
{
@include $a.LoadLang("pub/q_message.php");
$error=empty($novar)?$qmessage_r[$error]:$error;
echo"<script>alert('".$error."');".$gotourl_js."</script>";
db_close();
$empire=null;
exit();
}
elseif($ecms==8)//后臺彈出對話框
{
@include $a.LoadLang("pub/message.php");
$error=empty($novar)?$message_r[$error]:$error;
echo"<script>alert('".$error."');".$gotourl_js."</script>";
db_close();
$empire=null;
exit();
}
elseif($ecms==7)//前臺彈出對話框并關(guān)閉窗口
{
@include $a.LoadLang("pub/q_message.php");
$error=empty($novar)?$qmessage_r[$error]:$error;
echo"<script>alert('".$error."');window.close();</script>";
db_close();
$empire=null;
exit();
}
elseif($ecms==6)//后臺彈出對話框并關(guān)閉窗口
{
@include $a.LoadLang("pub/message.php");
$error=empty($novar)?$message_r[$error]:$error;
echo"<script>alert('".$error."');window.close();</script>";
db_close();
$empire=null;
exit();
}
elseif($ecms==0)
{
@include $a.LoadLang("pub/message.php");
$error=empty($novar)?$message_r[$error]:$error;
@include($a."message.php");
}
else
{
@include $a.LoadLang("pub/q_message.php");
$error=empty($novar)?$qmessage_r[$error]:$error;
@include($a."../message/index.php");
}
db_close();
$empire=null;
exit();
}
既然找到了錯誤時(shí)輸出的內(nèi)容那么我們就可以在輸出內(nèi)容的最前面加入以下內(nèi)容:
@header("HTTP/1.0 404 Not Found.");
@header("status: 404 Not Found");
至于為什么要在最前面加大家可以去查下header使用手冊,這里就不在細(xì)說了。
修改后的內(nèi)容如下:
//錯誤提示
function printerror($error="",$gotourl="",$ecms=0,$noautourl=0,$novar=0){
global $empire,$editor,$public_r,$ecms_config;
if($editor==1){$a="../";}
elseif($editor==2){$a="../../";}
elseif($editor==3){$a="../../../";}
else{$a="";}
if($ecms==1||$ecms==9)
{
$a=ECMS_PATH.'e/data/';
}
if(strstr($gotourl,"(")||empty($gotourl))
{
if(strstr($gotourl,"(-2"))
{
$gotourl_js="history.go(-2)";
$gotourl="javascript:history.go(-2)";
}
else
{
$gotourl_js="history.go(-1)";
$gotourl="javascript:history.go(-1)";
}
}
else
{$gotourl_js="self.location.href='$gotourl';";}
if(empty($error))
{$error="DbError";}
if($ecms==9)//前臺彈出對話框
{
@include $a.LoadLang("pub/q_message.php");
$error=empty($novar)?$qmessage_r[$error]:$error;
echo"<script>alert('".$error."');".$gotourl_js."</script>";
db_close();
$empire=null;
exit();
}
elseif($ecms==8)//后臺彈出對話框
{
@include $a.LoadLang("pub/message.php");
$error=empty($novar)?$message_r[$error]:$error;
echo"<script>alert('".$error."');".$gotourl_js."</script>";
db_close();
$empire=null;
exit();
}
elseif($ecms==7)//前臺彈出對話框并關(guān)閉窗口
{
@include $a.LoadLang("pub/q_message.php");
$error=empty($novar)?$qmessage_r[$error]:$error;
echo"<script>alert('".$error."');window.close();</script>";
db_close();
$empire=null;
exit();
}
elseif($ecms==6)//后臺彈出對話框并關(guān)閉窗口
{
@include $a.LoadLang("pub/message.php");
$error=empty($novar)?$message_r[$error]:$error;
echo"<script>alert('".$error."');window.close();</script>";
db_close();
$empire=null;
exit();
}
elseif($ecms==0)
{
@include $a.LoadLang("pub/message.php");
$error=empty($novar)?$message_r[$error]:$error;
@include($a."message.php");
}
else
{
@header("HTTP/1.0 404 Not Found.");
@header("status: 404 Not Found");
@include $a.LoadLang("pub/q_message.php");
$error=empty($novar)?$qmessage_r[$error]:$error;
@include($a."../message/index.php");
}
db_close();
$empire=null;
exit();
}
我們分析動態(tài)頁面后知道正常情況當(dāng)ID不存在時(shí)會觸發(fā)printerror函數(shù),那么我們就可以真對printerror進(jìn)行除理,當(dāng)我們深入研究后發(fā)現(xiàn)一般情況下出發(fā)的函數(shù)傳入的參數(shù)如下:
if(!$classid||!$id||!$mid||!$tbname||InfoIsInTable($tbname))
{
printerror('此信息不存在','',1,0,1);
}
printerror('錯誤提示信息','提示錯誤后跳轉(zhuǎn)的URL(可為空)','錯誤提示樣式','','');
那么錯誤提示樣式為1,我們可以從e/class/connect.php中找到printerror,并可以看到下內(nèi)容:
//錯誤提示
function printerror($error="",$gotourl="",$ecms=0,$noautourl=0,$novar=0){
global $empire,$editor,$public_r,$ecms_config;
if($editor==1){$a="../";}
elseif($editor==2){$a="../../";}
elseif($editor==3){$a="../../../";}
else{$a="";}
if($ecms==1||$ecms==9)
{
$a=ECMS_PATH.'e/data/';
}
if(strstr($gotourl,"(")||empty($gotourl))
{
if(strstr($gotourl,"(-2"))
{
$gotourl_js="history.go(-2)";
$gotourl="javascript:history.go(-2)";
}
else
{
$gotourl_js="history.go(-1)";
$gotourl="javascript:history.go(-1)";
}
}
else
{$gotourl_js="self.location.href='$gotourl';";}
if(empty($error))
{$error="DbError";}
if($ecms==9)//前臺彈出對話框
{
@include $a.LoadLang("pub/q_message.php");
$error=empty($novar)?$qmessage_r[$error]:$error;
echo"<script>alert('".$error."');".$gotourl_js."</script>";
db_close();
$empire=null;
exit();
}
elseif($ecms==8)//后臺彈出對話框
{
@include $a.LoadLang("pub/message.php");
$error=empty($novar)?$message_r[$error]:$error;
echo"<script>alert('".$error."');".$gotourl_js."</script>";
db_close();
$empire=null;
exit();
}
elseif($ecms==7)//前臺彈出對話框并關(guān)閉窗口
{
@include $a.LoadLang("pub/q_message.php");
$error=empty($novar)?$qmessage_r[$error]:$error;
echo"<script>alert('".$error."');window.close();</script>";
db_close();
$empire=null;
exit();
}
elseif($ecms==6)//后臺彈出對話框并關(guān)閉窗口
{
@include $a.LoadLang("pub/message.php");
$error=empty($novar)?$message_r[$error]:$error;
echo"<script>alert('".$error."');window.close();</script>";
db_close();
$empire=null;
exit();
}
elseif($ecms==0)
{
@include $a.LoadLang("pub/message.php");
$error=empty($novar)?$message_r[$error]:$error;
@include($a."message.php");
}
else
{
@include $a.LoadLang("pub/q_message.php");
$error=empty($novar)?$qmessage_r[$error]:$error;
@include($a."../message/index.php");
}
db_close();
$empire=null;
exit();
}
既然找到了錯誤時(shí)輸出的內(nèi)容那么我們就可以在輸出內(nèi)容的最前面加入以下內(nèi)容:
@header("HTTP/1.0 404 Not Found.");
@header("status: 404 Not Found");
至于為什么要在最前面加大家可以去查下header使用手冊,這里就不在細(xì)說了。
修改后的內(nèi)容如下:
//錯誤提示
function printerror($error="",$gotourl="",$ecms=0,$noautourl=0,$novar=0){
global $empire,$editor,$public_r,$ecms_config;
if($editor==1){$a="../";}
elseif($editor==2){$a="../../";}
elseif($editor==3){$a="../../../";}
else{$a="";}
if($ecms==1||$ecms==9)
{
$a=ECMS_PATH.'e/data/';
}
if(strstr($gotourl,"(")||empty($gotourl))
{
if(strstr($gotourl,"(-2"))
{
$gotourl_js="history.go(-2)";
$gotourl="javascript:history.go(-2)";
}
else
{
$gotourl_js="history.go(-1)";
$gotourl="javascript:history.go(-1)";
}
}
else
{$gotourl_js="self.location.href='$gotourl';";}
if(empty($error))
{$error="DbError";}
if($ecms==9)//前臺彈出對話框
{
@include $a.LoadLang("pub/q_message.php");
$error=empty($novar)?$qmessage_r[$error]:$error;
echo"<script>alert('".$error."');".$gotourl_js."</script>";
db_close();
$empire=null;
exit();
}
elseif($ecms==8)//后臺彈出對話框
{
@include $a.LoadLang("pub/message.php");
$error=empty($novar)?$message_r[$error]:$error;
echo"<script>alert('".$error."');".$gotourl_js."</script>";
db_close();
$empire=null;
exit();
}
elseif($ecms==7)//前臺彈出對話框并關(guān)閉窗口
{
@include $a.LoadLang("pub/q_message.php");
$error=empty($novar)?$qmessage_r[$error]:$error;
echo"<script>alert('".$error."');window.close();</script>";
db_close();
$empire=null;
exit();
}
elseif($ecms==6)//后臺彈出對話框并關(guān)閉窗口
{
@include $a.LoadLang("pub/message.php");
$error=empty($novar)?$message_r[$error]:$error;
echo"<script>alert('".$error."');window.close();</script>";
db_close();
$empire=null;
exit();
}
elseif($ecms==0)
{
@include $a.LoadLang("pub/message.php");
$error=empty($novar)?$message_r[$error]:$error;
@include($a."message.php");
}
else
{
@header("HTTP/1.0 404 Not Found.");
@header("status: 404 Not Found");
@include $a.LoadLang("pub/q_message.php");
$error=empty($novar)?$qmessage_r[$error]:$error;
@include($a."../message/index.php");
}
db_close();
$empire=null;
exit();
}
本站文章均為九腦科技摘自權(quán)威資料,書籍,或網(wǎng)絡(luò)原創(chuàng)文章,如有版權(quán)糾紛或者違規(guī)問題,請即刻聯(lián)系我們刪除,我們歡迎您分享,引用和轉(zhuǎn)載,我們謝絕直接復(fù)制和抄襲!感謝...
猜你喜歡
- 1組合域名xagri.cn一口價(jià)6.8萬元被秒
- 2destoon7.0 手機(jī)鏈接在電腦上訪問直接跳轉(zhuǎn)到PC頁面的修改方法
- 3帝國CMS如何禁止內(nèi)容關(guān)鍵字替換ALT和A標(biāo)簽中的關(guān)鍵詞?
- 4帝國CMS統(tǒng)一修改已添加內(nèi)容頁存放目錄修改成自定義
- 5destoon7.0程序 禁止同一個(gè)會員發(fā)布重復(fù)標(biāo)題信息
- 6什么是本地區(qū)關(guān)鍵詞全國性關(guān)鍵詞?
- 7帝國cms用sql語句批量替換內(nèi)容頁文件命名形式(信息ID、time()、date()、公共信息ID、md5()、目錄)
- 8域名知多少,淺析域名
- 9響應(yīng)式(自適應(yīng))網(wǎng)站的優(yōu)點(diǎn),缺點(diǎn)大PK
- 10刷屏朋友圈的“跳一跳” 小程序究竟有多火熱?
聯(lián)絡(luò)方式:
電話:13888888888
郵箱:139404000@qq.com
微信公眾號
新浪微博
掃描名片
我們猜你喜歡
-
什么是本地區(qū)關(guān)鍵詞全國性關(guān)鍵詞?
地區(qū)性關(guān)鍵詞:是指關(guān)鍵詞中帶有地區(qū)名稱,如:關(guān)鍵詞為“深圳網(wǎng)站建設(shè)公司”,該詞為地區(qū)性關(guān)鍵詞,因?yàn)殛P(guān)鍵詞中出現(xiàn)了地區(qū)名稱“深圳”。全國性關(guān)鍵詞:是指關(guān)鍵...
-
百度驚雷算法首推,快排行業(yè)將退出SEO江湖
近幾年,百度在保障用戶體驗(yàn)提升內(nèi)容生態(tài)良性發(fā)展方面下了很多功夫,從打擊外鏈、采集、站群、頁面友好度等方面都經(jīng)過了多次的算法調(diào)整,例如:青藤算法、綠蘿算法、颶風(fēng)算法、清風(fēng)...
-
刷屏朋友圈的“跳一跳” 小程序究竟有多火熱?
這兩天想必大家在刷朋友圈時(shí)都看到了一款名為“跳一跳”的游戲,2017年12月28日,微信通過旗下多個(gè)公眾號宣布上線“小游戲”,目前,iOS和安卓的用戶,只需升級...
-
destoon7.0 手機(jī)鏈接在電腦上訪問直接跳轉(zhuǎn)到PC頁面的修改方法
修改include/mobile.inc.php 第八行代碼 原代碼:if(is_pc() && strpos($DT_URL, ‘device.php’) === false) dheader( DT_PATH.’api/mobile.php?act...
-
響應(yīng)式(自適應(yīng))網(wǎng)站的優(yōu)點(diǎn),缺點(diǎn)大PK
近年來,各種大屏幕移動設(shè)備的普及,響應(yīng)式網(wǎng)站也受到了更多人的青睞。甚至大多數(shù)的人認(rèn)為,響應(yīng)式網(wǎng)站是實(shí)現(xiàn)友好移動目標(biāo),更好、更快、更省的方案。通俗的說,就是一個(gè)網(wǎng)站可以兼容...