phpcms v9禁止提交信息到官網(wǎng)方法詳解
phpcmsv9后臺(tái)登陸時(shí),會(huì)向官網(wǎng)http://update.v9.phpcms.cn聯(lián)網(wǎng),說(shuō)是檢查更新,實(shí)際同時(shí)也收集網(wǎng)站以及管理員的用戶信息還有登陸者的設(shè)備等信息。開始以為去掉后臺(tái)模板中的相關(guān)網(wǎng)址就行了。結(jié)果登陸時(shí)還是發(fā)現(xiàn)會(huì)向官網(wǎng)提交信息。于是追了一下。在登陸成功后,會(huì)首先顯示一個(gè)默認(rèn)頁(yè)。顯示管理員名字,服務(wù)器信息等。它是調(diào)用modules\admin\index.php
中的public_main()
方法加載的。
在這個(gè)方法中的最后幾行代碼如下:
$designer = '張二強(qiáng)'; ob_start(); include $this->admin_tpl('main'); $data = ob_get_contents(); ob_end_clean(); system_information($data);
意思是,將內(nèi)容緩存,然后給$data
,再調(diào)用system_information
處理。
system_information()
函數(shù),顯然是一個(gè)已經(jīng)加載的類庫(kù)中的函數(shù),查詢后發(fā)現(xiàn)它位于modules\admin\functions\admin.func.php
文件中。代碼如下:
function system_information($data) { $update = pc_base::load_sys_class('update'); $notice_url = $update->notice(); $string = base64_decode('PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoIiNtYWluX2ZyYW1laWQiKS5yZW1vdmVDbGFzcygiZGlzcGxheSIpOzwvc2NyaXB0PjxkaXYgaWQ9InBocGNtc19ub3RpY2UiPjwvZGl2PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ik5PVElDRV9VUkwiPjwvc2NyaXB0Pg=='); echo $data.str_replace('NOTICE_URL',$notice_url,$string); }
這里有一個(gè)解碼來(lái)獲得字串,我們先解碼看看這些字符串是什么。
加個(gè) echo $string 看看。結(jié)果瀏覽器中什么也沒有。嗯?明明解碼成字符串,為什么什么也沒有呢?其實(shí)是有的。它是一段‘javascript'字串,所以你在瀏覽器中看不到。
解碼后的內(nèi)容如下:
<script type="text/javascript">$("#main_frameid").removeClass("display");</script><div id="phpcms_notice"></div><script type="text/javascript" src="NOTICE_URL"></script>
到這里還看不出什么。然后,它將src=”NOTICE_URL”中的NOTICE_URL替換成noticeurl。然后加到已經(jīng)生成的data數(shù)據(jù)后面。也就是向$data中加了一段代碼。
加的網(wǎng)址從何而來(lái),加的又是什么網(wǎng)址呢?
函數(shù)先加載了update類
。然后調(diào)用了該類的notice()
方法。我們跟進(jìn)類文件libs\classes\update.class.php
看看。
function notice() { return $this->url('notice'); } function url($action = 'check') { $modules = ''; $site = getcache('sitelist','commons'); $sitename = $site['1']['name']; $siturl = $site['1']['domain']; foreach ($site as $list) $sitelist .= $list['domain'].','; $pars = array( 'action'=>$action, 'phpcms_username'=>'', 'sitename'=>$sitename, 'siteurl'=>$siturl, 'charset'=>CHARSET, 'version'=>PC_VERSION, 'release'=>PC_RELEASE, 'os'=>PHP_OS, 'php'=>phpversion(), 'mysql'=>$this->db->version(), 'browser'=>urlencode($_SERVER['HTTP_USER_AGENT']), 'username'=>urlencode(param::get_cookie('admin_username')), 'email'=> urlencode(param::get_cookie('admin_email')), 'modules'=>ROUTE_M, 'sitelist'=>urlencode($sitelist), 'uuid'=>urlencode($this->uuid), ); $data = http_build_query($pars); $verify = md5($this->uuid); if($s = $this->module()) { $p = '&p='.$s; } return $this->update_url.'?'.$data.'&verify='.$verify.$p; }
這里收集了網(wǎng)站的多種信息,然后生成一個(gè)網(wǎng)址,加到j(luò)s中,就會(huì)自動(dòng)向該網(wǎng)址訪問(wèn),并將信息提交給官網(wǎng)。
最后加到頁(yè)面后面的代碼是這樣的(解碼后):
<script type="text/javascript" src="http://update.v9.phpcms.cn/index.php?action=notice&phpcms_username=&sitename=默認(rèn)站點(diǎn)&siteurl=http://localhost/phpcms/&charset=utf-8&version=V9.6.3&release=20170515&os=WINNT&php=7.0.12&mysql=5.5.53&browser=Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36&username=phpcms&email=275423729@qq.com&modules=admin&sitelist=http://localhost/phpcms/,&uuid=0b5aacb6-0d3c-13e2-a47b-d9cb3a26d359&verify=83f1ab93b35fb87202e613e4decbecc2"></script>
這就是向官網(wǎng)提交我們網(wǎng)址,管理員名字瀏覽器等信息的代碼啊。難怪此前清除了模板中update.v9.phpcms.cn網(wǎng)址仍然提交,原來(lái)它將網(wǎng)址加密了,然后還加了你的相關(guān)信息。
如何刪除它?
一是換一個(gè)網(wǎng)址,將http://update.v9.phpcms.cn/index.php換成你的。不讓它向官網(wǎng)提交,但訪問(wèn)你的網(wǎng)址你并不需要。最好的辦法是去掉訪問(wèn)。
但不要這段代碼是不行的,會(huì)無(wú)法顯示。因?yàn)?code>$(“#main_frameid”).removeClass(“display”); 是讓加載的頁(yè)面顯示,也就是說(shuō)默認(rèn)是不顯示的。沒有js,瀏覽器不顯示內(nèi)容。我們要干掉的其實(shí)是這個(gè)‘'
去掉它,將剩下的:
<script type="text/javascript">$("#main_frameid").removeClass("display");</script><div id="phpcms_notice"></div>
base64_encode。得到
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoIiNtYWluX2ZyYW1laWQiKS5yZW1vdmVDbGFzcygiZGlzcGxheSIpOzwvc2NyaXB0PiA8ZGl2IGlkPSJwaHBjbXNfbm90aWNlIj48L2Rpdj4=
替換原來(lái)的,就可以了。
- 使用PHPCMS搭建wap手機(jī)網(wǎng)站
- phpcms模塊開發(fā)之swfupload的使用介紹
- linux服務(wù)器下PHPCMS v9 安全配置詳解
- php筆記之:初探PHPcms模塊開發(fā)介紹
- PHPCMS的使用小結(jié)
- CodeIgniter使用phpcms模板引擎
- phpcms的分類名稱和類別名稱的調(diào)用
- phpcms手機(jī)內(nèi)容頁(yè)面添加上一篇和下一篇
- PHPCMS手機(jī)站偽靜態(tài)設(shè)置詳細(xì)教程
- PHPCMS忘記后臺(tái)密碼的解決辦法
- 解決phpcms更換javascript的幻燈片代碼調(diào)用圖片問(wèn)題
- phpcms中的評(píng)論樣式修改方法
- PHPCMS V9 添加二級(jí)導(dǎo)航的思路詳解
- 如何給phpcms v9增加類似于phpcms 2008中的關(guān)鍵詞表
- PHPCMS遭遇會(huì)員投稿審核無(wú)效的解決方法
- Ajax實(shí)現(xiàn)phpcms 點(diǎn)贊功能實(shí)例代碼
- PHPCMS2008廣告模板SQL注入漏洞修復(fù)
- phpcms配置列表頁(yè)以及獲得文章發(fā)布時(shí)間
相關(guān)文章
實(shí)現(xiàn)dedecms圖集單擊圖片翻頁(yè)的功能
題記:在很多相冊(cè)的網(wǎng)站中,都有這樣的功能:當(dāng)圖片分多頁(yè)顯示的情況下,點(diǎn)擊圖片會(huì)自動(dòng)翻頁(yè)到下一張圖片,接下來(lái)我們?cè)赿edecms4中實(shí)現(xiàn)這個(gè)功能。以下是實(shí)現(xiàn)方法:2008-03-03動(dòng)易開源PowerEasy® SiteWeaver™ 6.5系列產(chǎn)品發(fā)布免費(fèi)下載了
動(dòng)易開源CMS 6.5正式版今日發(fā)布2008-01-01解決安裝wordpress時(shí)出現(xiàn)ERR_TOO_MANY_REDIRECTS重定向次數(shù)過(guò)多問(wèn)題
本文主要介紹了如何解決安裝wordpress時(shí)出現(xiàn)ERR_TOO_MANY_REDIRECTS重定向次數(shù)過(guò)多導(dǎo)致無(wú)法安裝的問(wèn)題2017-12-12禁用WordPress的自動(dòng)保存草稿文章修訂功能方法詳解
在使用WordPress過(guò)程中我們?nèi)绾谓没蜿P(guān)閉WordPress的版本修訂歷史、自動(dòng)保存、自動(dòng)草稿功能呢,本文為大家分享了禁用這些功能的方法2018-10-10