[WordPress] 網站開發之新目錄結構(Modern structure)

早在 2015 年時已有一篇討論目錄結構的文章提到 WordPress 通俗的目錄結構(wp-開頭)是脆弱的,但可以透過內建常數定義的方式做修正。

每次有重大安全性事件發生,這個「隱藏身為 WordPress」的話題也隨之會被拿出來討論,不為別的,就是比較根本一點的藏起來系統組成,自然也提高安全性,是比再安裝 WAF 或是掛防火牆還要來得實際些的做法!

那有沒有外掛可以幫我隱藏?

有,還賣得不錯XD 「Hide My WP」。

雖沒用過這款,但看他描述似乎猛猛的! 推測應該是藉由 Rewrite API 去實現 mapping 資源的解法,實用性跟效益部分正如他所說的可以實現偽裝(改HTML中輸出的目錄結構,不會改到原始架構)抵擋 bot 透過結構特徵來弱點掃描攻擊,但會多了幾個查詢(mapping)的流程,所以速度上會慢一些,至於多少就要實測了~

從改目錄方式去干擾爬蟲弱點掃描,軟體的解法,那款外掛應該是不錯,而「硬體」的解法可以參考前面提到的文章做目錄調整,挺有意思的!

以下案例解析採用新目錄架構開發的網站:TSRC 台橡股份有限公司

此網站由転転創意團隊開發。前陣子上線,剛好有空來解析一下(每次都很剛好)。

檢視網站原始碼中不難發現也是 WordPress 開發,但怎麼結構不太一樣?然後經過 嘿嘿嘿 方法從旁探測得知,該網站採用:

  1. Bedrock 後端框架

  2. 搭配 Timber 前端樣板模組開發

整體兼顧了開發團隊的能力搭配與系統安全性,滿讚的!

台橡網站安全性的部分不只有「系統目錄結構」調整,還有「外掛目錄」也跟著改動。若不是駭客針對性攻擊,保持這版本應該也不會這麼容易被掃描到(當然,還有其他小地方可以再強化就更完整了)。

後記

自己實測不套框架,修改常數來達到改目錄的做法流程如下:

  1. 先將網站根目錄下全 WordPress 檔案搬移到新建立 wp 目錄

  2. 再將 wp 目錄中的 wp-content 目錄 複製 一份到網站根目錄中並改名為 app

  3. 再將 wp 目錄中的 index.phpwp-config.php 檔案 搬移 到網站根目錄

  4. 修改 index.php 檔案中 require 的路徑為 /wp/wp-blog.header.php

  5. 新增 & 修改下列常數定義於 wp-config.php 檔案中(引入 wp-settings.php 那行之上 )

  6. 於網站後台「設定」->「一般」中,補上 WordPress 位址(URL) 為後台登入位置的前綴 /wp


/** WordPress 目錄的絕對路徑。 */ if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/wp/'); /** 設定 WordPress 變數和包含的檔案。 */ define('CONTENT_DIR', '/app'); define('WP_CONTENT_DIR', dirname(__FILE__) . CONTENT_DIR); define('WP_CONTENT_URL', 'http://' . $_SERVER['HTTP_HOST'] . CONTENT_DIR);

#WordPress #網站開發 #目錄結構 #Rewrite #API #HIDEMYWP #Bedrock #Timber #案例 #TWIG #模板引擎 #弱點掃描 #安全性 #技術相關

- Powered by Mxp.TW -FB2WP-

Facebook 外掛整合


Share: