解開用base64加密的footer.php

就是不讓你看

還記得之前高登發過一篇:「檢查你用的版型是否安全」,裡面有提到有一些版型會將「footer.php」用base64的演算法加密,這種的版型不一定是有問題,但是作者的心態個人是不大贊同。

但是網站畢竟是要給大家看的,所謂的加密手法只是你看到的程式碼,真正在網路上傳輸的還是沒有加密的HTML原始碼,不然加密了連搜尋引擎都看不懂你的網頁,那這個網站也就別設了!

隱藏在美麗之下的危險

台灣有一句俚語:「水某歹照顧」,就是說越是美麗的事物就越危險,所以一般會在程式利用加密的手法的版型,基本上都是不錯的版型。

為什麼會有人將程示加密不讓你看呢?原因有兩個:

  1. 作者不希望你修改他的程式碼。
  2. 在程式碼中隱藏著不可告人的秘密,像是不應該有的連結,或者是惡意的木馬程式。

如果是第一種原因的話就還好,但是第二種原因就很糟了,所以不管原來作者的用意為何,一般都會建議遇到加密的版型就不要用了。

但是以WordPress屬於Open Source開放原始碼的程式來說,在版型加密就已經是不遵守遊戲規則的作法了,因為這樣子你並沒有「開放原始碼」!因此當你能夠解開原作者加密的東西之後,要採取什麼措施就自己看著辦吧!

如何看原始碼

首先檢查版型的footer.php(我也曾遇過是sidebar.php加密的),裡面看起來是這樣子看不懂的碼,那就是加密過的:

解開用base64加密的footer.php

事實上你從網頁的HTML原始碼就可以看到解密之後的程式碼,但是比較難判斷哪一個部份是原來加密的內容,所以要先加一下註記。

方法就是在呼叫footer.php的上一層的程式中加入一些語法,一般而言都是用index.php來呼叫footer.php的,所以請你在index.php裡面找到下面這一段程式碼:

<code><?php get_footer(); ?></code>

在它的前面跟後面加上註記,就像這樣子:

<code><!-- Footer開始 -->
<?php get_footer(); ?>
<!-- Footer結束 --></code>

然後在網頁的原始碼中找到這一段註記,中間的部份就是解密之後的程式碼:

解開用base64加密的footer.php

用這一段程式碼替換原來footer.php的程式碼就一切大功告成了(不過要看一下程式碼有沒有問題喔)!

還有漏掉的

但是這並不是完整的原始碼,像一般的版權聲明中的網站名稱是用php函數取得的,不過這個比較沒關係。

更重要的是在footer.php裡面在一個很重要的函數一定要呼叫:

<code><?php wp_footer(); ?></code>

沒有這一段程式碼的話,可能會讓你的網站統計程式像是WordPress.com stats、Google Analytics或Woopra等不會回報數據,所以請你手動在</body>之前加上這一行吧。

18 則留言

  1. base64並不是「加密」,只是一種編碼,利用英文大小寫字元及數字來
    表示全部的符號及文字,主要用在email內容的編碼,只要透過解碼函數就可以很容易還原回來。
    我遇過的會使用base64的theme,都是在保護版權宣告,以免佈景檔案被別人修改。

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料