連日本首相都轉發 php 資安通報,本網站 docker wordpress 須更新

Last Updated on 2026-10-22 by william

今天(2026/10/22)一醒來就撲天蓋地看到 php 出現重大漏洞,分數高達 9.2 分,連日本首相都轉發,認定是國安危機,我查了一下本站,居然也是災戶 wordpress php 8.4.11 ,需升級到 8.4.27。

因為本站使用 反向代理 + docker wordpress,有安裝 WPvivid 外掛,進行網站備分,也支援線上還原,因此簡單紀錄一下還原過程。

  1. mysql 建立資料庫名稱
  2. 安裝新版網站 docker wordpress
    我安裝 7.3.1-php8.5 版,這版使用 php 8.5.12 最新補丁的版本
  3. 新網站安裝 WPvivid 外掛,並啟用 WPvivid 金鑰,把金鑰給目前網站
  4. 到目前網站,進入 WPvivid 設定後,輸入新網站 WPvivid 金鑰,就可以執行線上移轉
  5. 移轉完畢,到新的網站,進入 WPvivid 設定,會看到一份已上傳的備份資料
    此步驟非常重要,到”設定->一般”,把原本 ip 改掉,改成原本的網域名稱,改完會立即無法連線,需修改反向代理程式
  6. 到反向代理那邊,將原本指向目前舊網站的網址,改成指向新網站的,這樣才可以登入新的網站,再將新網站裡面的備份資料還原生效

php2shell 需修補版本


我發現升級 wordpress 的方式遇到一個問題,有些連結還是用 ip,只好補救,方式如下( apache httpd )

  ProxyPass / http://192.168.1.1:8086/
  ProxyPassReverse / http://192.168.1.1:8086/
  # ...
  # ...
  # 移除壓縮請求,確保 Apache 可以解析 HTML 來進行替換
  RequestHeader unset Accept-Encoding
  # 指定過濾器套用的檔案類型
  AddOutputFilterByType SUBSTITUTE text/html text/css application/javascript application/json text/plain
  # 將網頁內的 ip 改成網站名稱
  Substitute "s|192.168.1.1:8086|kafeiou.pw|i"

以上方式滿好用的,AI 則是建議使用 Better Search Replace 外掛,或是購買 WPvivid 專業版,專業版可以直接修改網域,若網域要改名的話。

公司先前要過 MDR eIFU 稽核,程序書裡面加上須在測試網站測試完畢才能上架到官方網站,但當時沒有時間做測試網站,就利用改名方式把測試網站連結到官方網站,這樣就變成兩個網站了,但實際上是同一個,會這樣做也是不得以的,wordpress 似乎會把網域寫死在資料庫裡。

    SSLCertificateFile /etc/letsencrypt/live/test.kafeiou.com/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/test.kafeiou.com/privkey.pem
    SSLCACertificateFile /etc/letsencrypt/live/test.kafeiou.com/fullchain.pem
    
    # 將測試網站 test.kafeiou.com 導到正式網站 www.kafeiou.com
    ProxyPass / https://www.kafeiou.com/
    ProxyPassReverse / https://www.kafeiou.com/

    # 將官網的 cookie 也反向代理,改成 test.kafeiou.pw
    ProxyPassReverseCookieDomain test.kafeiou.com www.kafeiou.com

    # === 替換網頁原始碼 (HTML Body) 中的字串 ===

    # 移除壓縮請求,確保 Apache 可以解析 HTML 來進行替換
    RequestHeader unset Accept-Encoding

    # 指定過濾器套用的檔案類型
    AddOutputFilterByType SUBSTITUTE text/html text/css application/javascript application/json text/plain

    # 將網頁內的 www 絕對網址替換為 test
    Substitute "s|www.kafeiou.com|https://test.kafeiou.com|i"

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端