相信大家用Dede架構(gòu)網(wǎng)站的有很多吧,很多時(shí)候我們是直接復(fù)制一個(gè)templets\default文件夾修改掉名字來達(dá)到修改模版路徑的目的,但是如果自己做的模板,往往很多地方考慮的不周到,因?yàn)椴皇撬泄δ芏加玫玫?。訪問一些不存在模板的功能,有時(shí)候會(huì)暴露模板的真實(shí)路徑
1,批量修改模版文件
方法,使用批量修改工具。比如你模版目錄是templets\xahot.net,那么你需要批量替換{dede:global.cfg_templets_skin/}和$cfg_templets_skin; ?>為/templets/default或者其他安全路徑。PS,批量修改工具網(wǎng)上有很多,我用的服務(wù)器那個(gè)很好用(絕非AD)。
2,模板放進(jìn)數(shù)據(jù)庫(kù)
用dede程序自帶的自定義標(biāo)記功能來防止模板被下載也不錯(cuò)。簡(jiǎn)單來說就是把真正的模板放到數(shù)據(jù)庫(kù)里面,html模板只是一個(gè)殼子沒有內(nèi)容。
具體操作步驟:進(jìn)dede后臺(tái),新建一個(gè)自定義標(biāo)記,標(biāo)記名稱為xahot。至于內(nèi)容你可以把模板文件的內(nèi)容全復(fù)制進(jìn)去。然后把模板里的內(nèi)容清空,寫上自定義標(biāo)記代碼{dede:mytag ismake='yes'/} 好了,現(xiàn)在即使模板被下載,泄漏的也只是這句自定義標(biāo)記而已。
3,使用網(wǎng)站的偽靜態(tài)(url重寫)功能來重置鏈接
A,服務(wù)器支持.htaccess(linux)文件的在根目錄建一個(gè).htaccess,按以下方法修改,
比如我的模板文件放在/templest/xahot.net/這個(gè)目錄
現(xiàn)在我要設(shè)置一個(gè)規(guī)則,只要訪問模板目錄下的任何文件,都顯示主頁內(nèi)容。
改一下.htaccess文件:
RewriteEngine On
RewriteBase /
ErrorDocument 404 /
RewriteRule templest/xa /
注意最后那條規(guī)則,意思是只要訪問的地址里面包含“templets/xa”,就會(huì)顯示主頁的內(nèi)容。
可以看到我的模板目錄名沒寫全,只要以xa開頭就行了,這樣既保護(hù)了模板,又不會(huì)暴露模板的路徑。
B,IIS類網(wǎng)站方法httpd.ini寫法(具體httpd.ini放置不多講,可以自己搜索下)
[ISAPI_Rewrite]
#3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule ^(.*)/aa?(.+)$ $1/templest/xa$2.htm [L]
IIS的只能返回404錯(cuò)誤頁面,先設(shè)置一個(gè)404頁面,讓他隨便返回吧(實(shí)際測(cè)試可用)
對(duì)于喜歡猜解路徑的,不論怎樣猜都返回一個(gè)錯(cuò)誤頁牛逼吧!
綜述:第一種方法和最后一種方法結(jié)合起來比較好用也很有效,修改模版也方便。第二種修改起來比較麻煩,不推薦使用。