Title: 一介資男(Mxp.TW) 開發工具箱
Author: mxp
Published: <strong>8 de febrero de 2017</strong>
Last modified: 7 de octubre de 2026

---

Buscar plugins

![](https://ps.w.org/mxp-dev-tools/assets/banner-772x250.png?rev=1593887)

![](https://ps.w.org/mxp-dev-tools/assets/icon-256x256.png?rev=1593887)

# 一介資男(Mxp.TW) 開發工具箱

 Por [mxp](https://profiles.wordpress.org/mxp/)

[Descargar](https://downloads.wordpress.org/plugin/mxp-dev-tools.3.6.11.zip)

[Vista previa](https://es.wordpress.org/plugins/mxp-dev-tools/?preview=1)

 * [Detalles](https://es.wordpress.org/plugins/mxp-dev-tools/#description)
 * [Valoraciones](https://es.wordpress.org/plugins/mxp-dev-tools/#reviews)
 *  [Instalación](https://es.wordpress.org/plugins/mxp-dev-tools/#installation)
 * [Desarrollo](https://es.wordpress.org/plugins/mxp-dev-tools/#developers)

 [Soporte](https://wordpress.org/support/plugin/mxp-dev-tools/)

## Descripción

一介資男(Mxp.TW) 開發工具箱不是單一功能外掛，而是一個 WordPress 開發、維運、搬站
與站點管理工具包。套件內含主要工具箱與四個可獨立啟用的子外掛，讓管理員只啟用目前
站台需要的能力。

#### 套件架構

 * `Dev Tools - Mxp.TW`：主要工具箱。提供外掛/主題安裝、打包、取代、資料庫維護、
   網站設定檢視與檔案異動檢查。
 * `Dev Tools: Snippets - Mxp.TW`：常用維運片段。集中處理安全強化、登入/後台調整、
   媒體上傳政策、報告排程與網域到期檢查。
 * `Dev Tools: Site Manager - Mxp.TW`：多站管理輔助。匯出/匯入站台資訊，並以 passkey、
   加密 token 與 HMAC 提供跨站快速登入。
 * `Dev Tools: Hide Login Page - Mxp.TW`：登入路徑防護。將預設登入入口改為自訂路徑，
   並把原始登入與未登入後台入口導向 404。
 * `Dev Tools: Feedback Reporter - Mxp.TW`：登入用戶全站問題回報。前台與後台可擷取
   目前頁面、錄製短片、標註截圖、填寫描述後由本站安全轉送 webhook。

#### Dev Tools – Mxp.TW（主要工具箱）

主要工具箱面向高權限管理員與開發者，功能集中在「安裝、搬站、檢查、替換」：

 * 開發常用外掛清單：從遠端清單與 WordPress.org API 取得外掛資訊，支援安裝、更新
   與啟用。
 * Themeforest List：輸入 Envato 或 MXP 授權碼後，列出可下載的主題、外掛與其他檔案，
   並支援線上安裝。
 * 外掛搜尋工具：在後台嵌入作者整理的外掛搜尋介面，從可信來源帶回下載連結後安裝。
 * 外掛/主題打包：可從外掛列表、主題工具、最近異動檔案、`wp-content` 或 `wp-config.
   php` 產生 ZIP 下載。
 * 外掛/主題取代：上傳 ZIP 後解析外掛或主題資訊，比對既有項目，取代前建立備份，失敗
   時回滾。
 * 調整內容作者工具：依 Post Type 批次改寫內容作者。
 * 查看網站各項設定：顯示外部網路資訊、`wp-config.php` 常數、使用者定義常數、`.htaccess`
   與 `.user.ini`。
 * 主機 PHP 設定：在 `phpinfo()` 可用時顯示 PHP/主機設定。
 * 資料庫檢視與匯出：列出資料庫與資料表，支援單表、全表、背景 SQL 匯出與 `wp-content`
   打包。
 * 資料庫關鍵字取代：以 Search Replace DB 類別處理序列化資料安全的預覽與實際取代。
 * WP 資料庫最佳化：檢視大型 autoload options，清理 orphan/duplicate meta、未使用
   option、使用者 metabox，也提供重置 WordPress 的高風險操作。
 * 查看最近變更檔案：掃描並分類近期異動的核心、上傳、主題、外掛與其他檔案。
 * Hook 執行時間除錯：登入狀態下加上 `?debug` 時，在 admin bar 顯示 hook 執行時間
   統計。

#### Dev Tools: Snippets – Mxp.TW（常用片段與站台行為）

Snippets 子外掛會直接接管多個 WordPress hook，適合用 `wp-config.php` 先定義 `MDT_*`
常數後再啟用。

 * 安全強化：停用 XML-RPC、隱藏 REST 使用者資料、移除多種前端 metadata/oEmbed/shortlink
   輸出、隱藏作者資訊與頭像、停用 self-ping。
 * HTTP 標頭：可輸出 frame-options、XSS protection、content type options、cross-
   domain policy 與 HSTS 類型標頭。
 * 檔案修改保護：預設啟用 `DISALLOW_FILE_MODS` / `DISALLOW_FILE_EDIT`，並保護指定
   管理員不被一般後台列表、編輯、刪除或降權流程影響。
 * 登入與後台調整：登入頁 Logo、登入後導向、管理信箱同步、註冊開關、封鎖使用者登入、
   顯示內容/分類/使用者 ID、使用者註冊時間欄位、隱藏非管理員更新提示與 Customize
   選單。
 * 媒體與上傳政策：可停用縮圖產生、停用大圖縮放、上傳圖片大小限制、自動填入圖片標題/
   alt/content，並對特權管理員與一般使用者套用不同的檔案大小與 MIME 規則。
 * Bot/垃圾防護：登入、註冊、WooCommerce 與留言表單加入 honeypot 與時間戳檢查。
 * 前台 Basic Auth：可啟用簡易前台驗證，並以指定 query key/cookie 暫時略過。
 * 外部 HTTP 請求管控：可封鎖指定網域，或啟用全域封鎖後只允許白名單。
 * 站台健康回報與自動更新排程：可透過排程回報站台資訊，也可在排程內更新指定外掛。
 * 網域到期檢查：Dashboard widget 顯示 `home_url()`、`site_url()`、多站、額外指定
   網域與 filter 網域的 RDAP/WHOIS 結果，包含到期日、註冊商、狀態、DNSSEC、Name 
   Server、原始資料與通知狀態。

網域到期檢查常用設定：

 * `MDT_DOMAIN_EXPIRY_CHECK`：是否啟用網域到期檢查，預設 `true`。
 * `MDT_DOMAIN_EXPIRY_NOTICE_DAYS`：到期通知門檻，預設 `90, 60, 30, 14, 7, 3, 1`
   天。
 * `MDT_DOMAIN_EXPIRY_EXTRA_DOMAINS`：額外指定檢查網域，支援陣列或逗號分隔字串。
 * `MDT_DOMAIN_EXPIRY_OBSERVE_HOSTS`：是否自動記錄非設定來源的 HTTP_HOST，預設 `
   false`。
 * `MDT_DOMAIN_EXPIRY_OBSERVED_HOST_RETENTION_DAYS`：觀察到的 HTTP_HOST 紀錄保留
   天數，預設 `180`。
 * `MDT_DOMAIN_EXPIRY_MAX_DOMAINS_PER_RUN`：單次排程最多查詢數量，預設 `20`。
 * `MDT_DOMAIN_EXPIRY_STORE_RAW_DATA`：是否儲存 RDAP/WHOIS 原始資料，預設 `true`。

#### Dev Tools: Site Manager – Mxp.TW（多站管理）

Site Manager 用來把多個 WordPress 站台整理成一個維運主控台，同時保留既有匯出/匯入
與快速登入流程。

 * 匯出目前站台資訊：包含站台 URL、站名、管理員信箱、IPv4、IPv6、DNS A/NS 記錄、
   Whois/網域到期資訊、Site Manager 版本、登入協議版本、外掛/佈景主題/核心更新、
   PHP/MySQL 版本、檔案異動、cron 狀態與環境快照。
 * 匯入其他站台匯出的設定字串，經格式、URL、passkey 與欄位結構驗證後仍儲存在 `mxp_dev_sites_info_db`
   站台選項；新版主控台會同步寫入 `mxp_sm_sites`、`mxp_sm_site_credentials`、`mxp_sm_site_snapshots`、`
   mxp_sm_site_events`、`mxp_sm_site_jobs`、`mxp_sm_site_job_logs` 等資料表。
 * 主控台顯示總覽卡片、站台狀態、環境/客戶/標籤備註、更新數、網域到期、最近 heartbeat、
   事件紀錄與遠端工作紀錄；後台輸出會移除 passkey/secret/token/HMAC/signature 並
   轉義顯示內容。
 * 快速登入：新版站台使用具版本標記的加密 token、HMAC-SHA256、audience、jti 與 15
   秒時間窗；目標站會以 transient 防止同一 token 重放。舊版匯入資料仍維持相容的 
   legacy token，建議重新匯入以升級登入協議。
 * 安全配對：先以既有匯出字串內的 passkey 作一次性 bootstrap，完成後改用獨立 remote
   secret；Hub/Agent REST 請求使用 HMAC-SHA256 簽署 canonical request、5 分鐘時間
   窗與 replay 防護。
 * 遠端控制開放 Level 0/1 安全動作：heartbeat、capabilities、inventory、refresh_snapshot、
   clear_object_cache、flush_rewrite_rules、trigger_cron、rotate_pair_credential、
   issue_login_ticket。一次性登入票券只在當次 AJAX 回應交付，不寫入 job 結果或 dashboard
   state。
 * Level 2 中風險操作已提供基本中控能力：update_plugin、update_theme、update_core_minor、
   activate_plugin、deactivate_plugin。每站預設關閉，需在該站 policy 啟用；production
   站另需勾選 production Level 2。所有 Level 2 都必須先 dry-run，由後端簽發 10 分鐘
   confirmation token，execute 時再驗 token；同站同時只允許一個 Level 2 running 
   job，multisite execute 預設拒絕。
 * Level 3（DB search replace/reset、刪除或任意安裝外掛/佈景、編輯檔案、使用者/角色
   變更等）仍預設未實作且政策拒絕，不顯示可執行按鈕。
 * 重置站台密鑰：刪除本機 passkey 並在下次使用時重建；既有匯出字串會因此失效，已
   配對的 remote secret 也應解除配對後重新建立。
 * 支援單站 Tools 頁面與 multisite Network Admin 頁面；頁面與 AJAX 使用同一個可 
   filter 的 capability。

匯出的字串包含 passkey，等同可請求快速登入與配對 bootstrap 的高權限憑證。請只在可
信任管理員與可信任傳輸渠道中保存或分享；若曾外洩，請立即重置站台密鑰、解除配對並
重新匯出/配對。

#### Dev Tools: Hide Login Page – Mxp.TW（登入路徑防護）

Hide Login Page 沒有設定頁，透過常數控制：

 * `MDT_LOGIN_PATH`：預設 `admin-staff`，登入網址會變成 `/admin-staff/`；未啟用 
   pretty permalink 時使用 `/?admin-staff`。
 * `MDT_LOGIN_PATH_DISPLAY`：預設 `true`；設為 `false` 時可在外掛列表隱藏此子外掛。

啟用後，`wp-login.php`、`/login`、`wp-register`、`wp-activate` 與非 multisite 的`
wp-signup` 會走 404 流程；未登入的 `/wp-admin/` 請求也會被導到 `/404`。此外掛也會
改寫 WordPress 產生的登入 URL、redirect URL、welcome email 中的登入連結，以及 WooCommerce
密碼重設連結。

#### Dev Tools: Feedback Reporter – Mxp.TW（全站問題回報）

Feedback Reporter 沒有設定頁，透過 `MDT_FEEDBACK_REPORTER_*` 常數控制。啟用外掛後
預設啟用回報功能；只允許登入並符合 role / user ID 規則的使用者在前台與後台看到回報
入口。若要關閉，可在 `wp-config.php` 將 `MDT_FEEDBACK_REPORTER_ENABLE` 定義為 `false`。

 * 前台使用明確的「回報問題」浮動按鈕；後台使用低干擾的小型「回報」入口，避免遮住
   主要操作或一直提醒使用者回報。
 * 使用者點擊後才啟動回報流程，可選擇擷取目前頁面「當下捲動視野」，或開啟獨立錄影
   控制器錄製最長 60 秒短片；控制器留在獨立視窗中，原頁跳轉或重新整理不會中斷錄影，
   錄影中會顯示倒數與停止按鈕，不必錄滿一分鐘。
 * 截圖模式可在截圖上畫框、箭頭、文字、自由畫筆與馬賽克；錄影模式會送出錄影檔與自動
   產生的封面截圖。若自動 DOM 截圖無法呈現互動畫面，可上傳 PNG/JPEG/WebP 或從剪貼簿
   貼上外部截圖取代，再填寫問題描述。
 * 前端只送到本站 REST endpoint；webhook URL 與 secret 不會輸出到瀏覽器。
 * WordPress server-side 驗證登入、nonce、role/user ID、rate limit、截圖與錄影 MIME，
   並在 webhook 前重新檢查與壓縮截圖大小；未設定 webhook 時仍會保存本機 log/截圖/
   錄影，設定 webhook 後才送出外部通知；匿名回報也會保存解析後的回報 IP 與 IP hash，
   方便追蹤濫用來源。
 * 回報 IP 會優先使用可信任反向代理還原出的真實用戶 IP：預設會從 Cloudflare 官方`
   ips-v4` / `ips-v6` 清單取得並快取可信 edge CIDR，抓取失敗時才回退到內建 Cloudflare
   範圍；只有當 `REMOTE_ADDR` 落在可信代理 CIDR 內才讀取 `CF-Connecting-IP`、`CF-
   Connecting-IPv6`、`True-Client-IP`、`X-Real-IP`、`Forwarded` 或 `X-Forwarded-
   For`，避免直接打到 origin 的請求偽造 client IP header。若 origin 已由防火牆限制
   只能經 Cloudflare 進站，也仍建議保留此閘門作為防呆；不建議無條件信任 header。
 * log 目錄預設在 `wp-content/uploads/mxp-dev-tools/feedback-reporter/`，每次回報
   會寫入不可預測的隨機子目錄與隨機檔名；Apache/LiteSpeed 會透過 `.htaccess` 關閉
   目錄列表並拒絕 JSON log 直連，但允許圖片/影片媒體檔讓內部 webhook 連結可直接開啟，
   nginx 需由站台自行決定是否加上等效規則；再依保留天數與檔案數上限自動清理，移除
   Feedback Reporter 子外掛時預設會刪除 log/截圖/錄影。
 * Discord webhook 會以附件方式上傳截圖並在訊息中預覽；Slack incoming webhook 只
   送出 JSON + Block Kit 文字欄位與 Log / 檔案連結，不使用 image block，避免站台
   圖片 URL 被主機資安策略阻擋時造成整包通知失敗。

常用常數：

 * `MDT_FEEDBACK_REPORTER_ENABLE`：是否啟用全站回報，預設 `true`；可設為 `false`
   關閉。
 * `MDT_FEEDBACK_REPORTER_ADMIN_ENABLE`：是否在 `wp-admin` 輸出低干擾後台回報入口，
   預設 `true`。
 * `MDT_FEEDBACK_REPORTER_ADMIN_BUTTON_MODE`：後台入口樣式，預設 `subtle-tab`，另
   可用 `compact-pill`。
 * `MDT_FEEDBACK_REPORTER_WEBHOOK_URL`：接收回報的 webhook URL；預設要求 HTTPS，
   未設定時仍可回報並保存本機 log/截圖/錄影，但不送出外部通知。
 * `MDT_FEEDBACK_REPORTER_WEBHOOK_FORMAT`：webhook payload 格式，預設 `auto`；Discord
   與 Slack incoming webhook URL 會自動送出相容格式，也可設為 `generic`、`discord`
   或 `slack`。
 * `MDT_FEEDBACK_REPORTER_WEBHOOK_SECRET`：webhook HMAC 簽章 secret，預設空字串。
 * `MDT_FEEDBACK_REPORTER_WEBHOOK_REQUIRE_HTTPS`：是否要求 webhook URL 使用 HTTPS，
   預設 `true`；設為 `false` 時可接受 HTTP，但仍會拒絕 private/reserved IP。
 * `MDT_FEEDBACK_REPORTER_WEBHOOK_SSL_VERIFY`：是否驗證 HTTPS 憑證，預設 `true`；
   設為 `false` 時可接受自簽憑證。
 * `MDT_FEEDBACK_REPORTER_ALLOWED_ROLES`：允許回報的角色，預設 `administrator`。
 * `MDT_FEEDBACK_REPORTER_ALLOWED_USER_IDS`：額外允許回報的使用者 ID。
 * `MDT_FEEDBACK_REPORTER_DENIED_USER_IDS`：禁止回報的使用者 ID，優先權最高。
 * `MDT_FEEDBACK_REPORTER_DENIED_PATHS`：不輸出回報入口的 path prefix，預設只排除`/
   wp-login.php`。
 * `MDT_FEEDBACK_REPORTER_LOG_RETENTION_DAYS`：本機 log/截圖/錄影保留天數，預設 `
   30`。
 * `MDT_FEEDBACK_REPORTER_MAX_LOG_FILES`：本機 log/截圖/錄影檔案數上限，預設 `500`。
 * `MDT_FEEDBACK_REPORTER_TRUST_PROXY_HEADERS`：是否在可信反向代理後方解析真實用戶
   IP，預設 `true`。
 * `MDT_FEEDBACK_REPORTER_TRUSTED_PROXY_CIDRS`：Cloudflare 官方清單抓取失敗時使用
   的 fallback Cloudflare 代理 CIDR；此閘門是為了防止繞過 CDN 直打 origin 時偽造`
   CF-Connecting-IP` / `X-Forwarded-For`。
 * `MDT_FEEDBACK_REPORTER_ADDITIONAL_TRUSTED_PROXY_CIDRS`：額外信任的自家 proxy /
   load balancer CIDR，會與 Cloudflare 官方清單合併；為相容舊設定，若 `MDT_FEEDBACK_REPORTER_TRUSTED_PROXY_CIDRS`
   內含不屬於內建 Cloudflare fallback 的 CIDR，也會視為額外可信代理。
 * `MDT_FEEDBACK_REPORTER_CLOUDFLARE_IPS_AUTO_UPDATE`：是否自動抓取 Cloudflare 官方
   IP 清單更新可信代理 CIDR，預設 `true`。
 * `MDT_FEEDBACK_REPORTER_CLOUDFLARE_IPS_CACHE_TTL`：Cloudflare IP 清單快取秒數，
   預設 7 天；抓取失敗時使用上一份有效 transient 或 `MDT_FEEDBACK_REPORTER_TRUSTED_PROXY_CIDRS`
   fallback。
 * `MDT_FEEDBACK_REPORTER_CLOUDFLARE_IPS_V4_URL` / `MDT_FEEDBACK_REPORTER_CLOUDFLARE_IPS_V6_URL`：
   Cloudflare IP 文字清單來源，預設 `https://www.cloudflare.com/ips-v4` 與 `https://
   www.cloudflare.com/ips-v6`。
 * `MDT_FEEDBACK_REPORTER_MAX_VIDEO_SECONDS`：錄影模式最長秒數，預設 `60`。
 * `MDT_FEEDBACK_REPORTER_MAX_VIDEO_BYTES`：錄影檔案大小上限，預設 `50 MiB`。
 * `MDT_FEEDBACK_REPORTER_DELETE_LOGS_ON_UNINSTALL`：移除 Feedback Reporter 子外掛
   時是否刪除 log/截圖/錄影，預設 `true`。

#### 使用風險

 * 此套件設計給可信任管理員、開發者與站台維護者使用，不適合開放給一般後台使用者。
 * 搜尋取代、資料庫最佳化、WordPress 重置、批次改作者、外掛/主題取代都會改寫資料
   或檔案；操作前請先確認備份可還原。
 * 主要工具箱會讀取並顯示 `wp-config.php`、`.htaccess`、`.user.ini`、PHP 設定與資料庫
   資訊。
 * `ZipArchive`、網路連線、檔案系統權限與主機 PHP 限制會影響打包、匯出、安裝、替換
   與前端回報轉送功能。

## Capturas

[⌊** 常用外掛操作列表 ** - 作者常用外掛安裝、啟用批次操作區域。⌉⌊** 常用外掛操作
列表 ** - 作者常用外掛安裝、啟用批次操作區域。⌉[

** 常用外掛操作列表 ** – 作者常用外掛安裝、啟用批次操作區域。

[⌊** Themeforest 外掛、主題下載 ** -  輸入 Themeforest 建立的授權碼取得帳號下購買
的主題或外掛，線上安裝。⌉⌊** Themeforest 外掛、主題下載 ** -  輸入 Themeforest 建立
的授權碼取得帳號下購買的主題或外掛，線上安裝。⌉[

** Themeforest 外掛、主題下載 ** – 輸入 Themeforest 建立的授權碼取得帳號下購買的
主題或外掛，線上安裝。

[⌊** 批次修改全站內容作者 ** - 指定內容類型全站調整作者權限，讓客戶帳號方便作業。⌉⌊**
批次修改全站內容作者 ** - 指定內容類型全站調整作者權限，讓客戶帳號方便作業。⌉[

** 批次修改全站內容作者 ** – 指定內容類型全站調整作者權限，讓客戶帳號方便作業。

[⌊** 超快速搜尋外掛工具 ** - 作者自行整理的官方外掛庫，每日更新，用來快速找對外掛
資源。⌉⌊** 超快速搜尋外掛工具 ** - 作者自行整理的官方外掛庫，每日更新，用來快速找
對外掛資源。⌉[

** 超快速搜尋外掛工具 ** – 作者自行整理的官方外掛庫，每日更新，用來快速找對外掛資源。

[⌊** 主題打包工具 ** - 網站主題一鍵打包下載功能。⌉⌊** 主題打包工具 ** - 網站主題
一鍵打包下載功能。⌉[

** 主題打包工具 ** – 網站主題一鍵打包下載功能。

[⌊** 外掛列表頁面打包工具 ** - 網站外掛一鍵打包下載功能。⌉⌊** 外掛列表頁面打包工具**-
網站外掛一鍵打包下載功能。⌉[

** 外掛列表頁面打包工具 ** – 網站外掛一鍵打包下載功能。

[⌊** 資料庫與資料表檢視與匯出工具 ** - 查看資料庫與資料表設定，並提供匯出備份功能。⌉⌊**
資料庫與資料表檢視與匯出工具 ** - 查看資料庫與資料表設定，並提供匯出備份功能。⌉[

** 資料庫與資料表檢視與匯出工具 ** – 查看資料庫與資料表設定，並提供匯出備份功能。

[⌊** 資料庫關鍵字搜尋與取代工具 ** - 指定或全站資料表掃描固定字眼並取代的功能，搬家
時換網域常用。⌉⌊** 資料庫關鍵字搜尋與取代工具 ** - 指定或全站資料表掃描固定字眼並
取代的功能，搬家時換網域常用。⌉[

** 資料庫關鍵字搜尋與取代工具 ** – 指定或全站資料表掃描固定字眼並取代的功能，搬家
時換網域常用。

## Instalación

 1. Upload the plugin files to the `/wp-content/plugins/mxp-dev-tools/` directory, 
    or install the plugin from the WordPress Plugins screen.
 2. Activate the main `Dev Tools - Mxp.TW` plugin through the **Plugins** screen in
    WordPress.
 3. Activate optional sub-plugins only when needed: `Dev Tools: Snippets - Mxp.TW`,`
    Dev Tools: Site Manager - Mxp.TW`, `Dev Tools: Hide Login Page - Mxp.TW`, or `Dev
    Tools: Feedback Reporter - Mxp.TW`.
 4. Open 「開發工具箱」 or the relevant sub-plugin admin page in the WordPress admin
    menu.
 5. For advanced behavior, define the documented `MDT_*` constants in `wp-config.php`
    before WordPress loads.

## FAQ

### Why are there multiple plugin entries after installation?

The package intentionally contains a main plugin plus optional sub-plugins. This
lets a site enable only the tools it needs while keeping one shared release package
and update path.

### Should I activate every sub-plugin?

No. Activate the main toolbox for development and maintenance tools. Activate Snippets,
Site Manager, or Hide Login Page only when the site needs those behaviors, because
each sub-plugin changes runtime hooks.

### Where are Snippets settings configured?

Most Snippets behavior is controlled with `MDT_*` constants defined before WordPress
loads, usually in `wp-config.php`. Some behavior also has filters documented in 
the source.

### Will observed HTTP_HOST domains be shown on the domain expiry dashboard?

No by default. Since 3.5.9, `MDT_DOMAIN_EXPIRY_OBSERVE_HOSTS` defaults to `false`,
and observed-only hosts are kept behind a separate detail page instead of the main
dashboard list.

### How do I add extra domains to the expiry check?

Define `MDT_DOMAIN_EXPIRY_EXTRA_DOMAINS` in `wp-config.php` as an array or comma-
separated string.

### How do I change the hidden login URL?

Define `MDT_LOGIN_PATH` before WordPress loads. The default slug is `admin-staff`.

### Is Site Manager safe to share or pair across sites?

No. The exported site string includes the passkey used for quick-login tokens and
the first pairing bootstrap. Treat it like an administrator credential, share it
only through trusted channels, and rotate the passkey plus re-pair the site if it
may have leaked. After pairing, remote control uses a separate encrypted shared 
secret, HMAC-signed requests, replay protection, and only Level 0/1 low-risk actions.

### How do I configure Feedback Reporter?

Activate the Feedback Reporter sub-plugin. The reporter is enabled by default after
activation and can save local logs/screenshots/recordings even before a webhook 
is configured; define `MDT_FEEDBACK_REPORTER_ENABLE` as `false` to disable it. Set`
MDT_FEEDBACK_REPORTER_WEBHOOK_URL` before WordPress loads when you want external
notifications. `auto` detects Discord and Slack incoming webhook URLs; set `MDT_FEEDBACK_REPORTER_WEBHOOK_FORMAT`
to `generic`, `discord`, or `slack` only when you need to force a payload type. 
By default the webhook must be HTTPS with a valid certificate; set `MDT_FEEDBACK_REPORTER_WEBHOOK_REQUIRE_HTTPS`
or `MDT_FEEDBACK_REPORTER_WEBHOOK_SSL_VERIFY` to `false` only for trusted internal/
self-signed receivers. Use `MDT_FEEDBACK_REPORTER_ALLOWED_ROLES`, `MDT_FEEDBACK_REPORTER_ALLOWED_USER_IDS`,
and `MDT_FEEDBACK_REPORTER_DENIED_USER_IDS` to limit who can submit reports.

### Does Feedback Reporter expose my webhook secret to visitors?

No. The browser only receives the local REST endpoint and nonce. WordPress sends
the webhook server-side and signs it with `MDT_FEEDBACK_REPORTER_WEBHOOK_SECRET`
when configured.

### Do I need to back up before using database or replacement tools?

Yes. Database search/replace, optimization, cleanup, reset, bulk author changes,
and file replacement tools can modify production data or files. Always keep a verified
backup before running destructive actions.

## Reseñas

![](https://secure.gravatar.com/avatar/b857c2d07c33433045b900bdaa9d703ade72ca1f9761a126556516e612cf248a?
s=60&d=retro&r=g)

### 󠀁[頭香](https://wordpress.org/support/topic/%e9%a0%ad%e9%a6%99-2/)󠁿

 [mxp](https://profiles.wordpress.org/mxp/) 17 de febrero de 2017

頭香還是自己來ＸＤ

 [ Leer la 1 reseña ](https://wordpress.org/support/plugin/mxp-dev-tools/reviews/)

## Colaboradores y desarrolladores

«一介資男(Mxp.TW) 開發工具箱» es un software de código abierto. Las siguientes personas
han colaborado con este plugin.

Colaboradores

 *   [ mxp ](https://profiles.wordpress.org/mxp/)

[Traduce «一介資男(Mxp.TW) 開發工具箱» a tu idioma.](https://translate.wordpress.org/projects/wp-plugins/mxp-dev-tools)

### ¿Interesado en el desarrollo?

[Revisa el código](https://plugins.trac.wordpress.org/browser/mxp-dev-tools/) , 
echa un vistazo al [repositorio SVN](https://plugins.svn.wordpress.org/mxp-dev-tools/)
o suscríbete al [registro de desarrollo](https://plugins.trac.wordpress.org/log/mxp-dev-tools/)
por [RSS](https://plugins.trac.wordpress.org/log/mxp-dev-tools/?limit=100&mode=stop_on_copy&format=rss).

## Registro de cambios

#### 3.6.11

 * Site Manager 遠端 Level 2 execute 會在已驗證簽章與 policy 後切入管理員 capability
   context，避免 REST Agent 無登入使用者時 WordPress upgrader 直接拒絕外掛/佈景/
   核心更新。
 * Site Manager 新增外掛操作改為多來源流程：可選 WordPress.org slug 或外部 ZIP URL，
   ZIP 來源會驗證 `http/https`、`.zip` 路徑與下載主機，執行前會先檢查 ZIP 只含單一
   有效外掛入口，預檢畫面會顯示來源類型、下載主機、預期 slug、既有安裝狀態與安裝
   後啟用選項。
 * Site Manager 主控台重整站台詳細頁、操作分組與變更預覽介面；配對後依 Agent 回報
   功能預設開放可用操作，移除畫面上的 Level 術語與一次性 alert，改為持久的頁內狀態
   回饋。
 * Site Manager 遠端操作失敗時會恢復按鈕狀態，並在操作區塊內保留可除錯的錯誤明細（
   action、job、Agent 回應摘要等），避免只顯示無法追查的頁首錯誤。
 * Site Manager 匯入網站設定後會立即使用匯出字串內的 bootstrap passkey 嘗試配對 
   Agent；只有連線、安全檢查或版本能力不足時，畫面才會提示用「重新配對」恢復。
 * Site Manager 新增 `wp mxp-site-manager export|import|pair|list` 指令；CLI 匯入
   預設會直接配對，也可用 `--skip-pair` 只保存站台設定，支援自動化佈署與救援流程。
 * Site Manager Agent 驗證 Hub 簽章時會鎖定目前站台的配對 credential，避免同一 Hub
   管多站時誤用其他站台較新的密鑰而讓遠端操作回 403。
 * Site Manager Dashboard 改用專屬 `MXPSiteManager` 前端設定物件，避免其他管理頁
   腳本覆寫共用 `MXP` nonce 後造成「登入」等 AJAX 操作出現錯誤驗證。
 * Site Manager 站台列表新增「移除」操作，會先確認再刪除 Hub 端保存的站台設定與配對
   憑證。
 * Site Manager Level 2 預檢會保留原始 payload 並用該 payload 執行確認，避免畫面
   重繪後 select 重置造成啟用、停用、更新操作的 confirmation token 驗證失敗。
 * Site Manager 外掛更新、啟用、停用改為表格式批次操作；可勾選多個外掛，一次預檢、
   一組確認後依序執行。
 * Site Manager 變更操作表格補上明確的功能矩陣說明、列尾「加入批次」按鈕、已選數量
   與「預檢並準備執行」主按鈕，避免只看到下拉選單卻不知道如何執行。
 * Site Manager 操作結果改為可讀表格與摘要，並在預檢、批次結果、錯誤回饋產生後自動
   聚焦到對應區塊，避免使用者執行後還停在原畫面找不到結果。
 * Site Manager 的 Inventory / Refresh Snapshot 回饋改為專用可讀摘要：以卡片呈現
   WordPress、PHP、DB、Agent、外掛/佈景數量、更新狀態、WP-Cron、檔案修改、時區與
   語系，並列出實際可更新項目，不再把 `plugins.items` / `themes.items` 物件陣列或
   英文 action key 直接塞進欄位。
 * Site Manager 狀態同步與維護工具按鈕保留原本卡片結構，執行中只更新主標與說明，
   不再把按鈕內容壓成純文字；快照資料庫版本改用 `$wpdb->db_version()` 正確擷取。
 * Site Manager 變更操作新增 WordPress.org 外掛安裝：輸入 slug 後先做 Level 2 預
   檢，確認後才安裝，並可選擇安裝後立即啟用。

#### 3.6.10

 * Feedback Reporter 載入 Painterro 後會還原既有 `window._`，避免 Painterro 內含
   的 Lodash 4 覆蓋 WordPress admin 依賴的 Underscore，造成媒體庫 `_.contains is
   not a function` 並讓特色圖片無法選取。

#### 3.6.9

 * Feedback Reporter 儲存 log、webhook 與匿名 IP hash/rate limit 時，改為只在 `REMOTE_ADDR`
   符合可信代理 CIDR 後解析 Cloudflare / reverse proxy client IP header；可信 Cloudflare
   CIDR 會從官方 `ips-v4` / `ips-v6` 文字清單抓取並以 transient 快取，抓取失敗時
   回退內建清單；預設支援 Cloudflare `CF-Connecting-IP`，並在 Cloudflare Pseudo 
   IPv4 overwrite 模式下改用 `CF-Connecting-IPv6` 保留真實 IPv6，避免直接請求偽造`
   X-Forwarded-For`；匿名回報現在也會保存解析後的完整 IP 供濫用追蹤，且該 IP 會隨
   已設定的第三方 webhook 一併送出。
 * Feedback Reporter 前台回報 modal / editor / controls 強化 CSS 隔離，避免站台主題
   覆寫按鈕、標題 pseudo element、表單控制項與回報卡片樣式。
 * Feedback Logs 後台列表修正長 Trace ID、URL、檔案路徑與 webhook 文字撐破欄位的
   問題，改用固定表格寬度、水平捲動與欄內斷行。

#### 3.6.8

 * Feedback Reporter 的 Slack incoming webhook 不再送出 Block Kit image block；截
   圖與錄影仍保留在文字欄位與「開啟 Log」入口，避免 WordPress.com、Cloudflare、WAF、
   登入保護或靜態檔案策略阻擋圖片 URL 時造成 Slack 回 `invalid_blocks` 並讓整包通知
   失敗。
 * Discord webhook 維持 multipart attachment 上傳截圖檔案的既有行為，不受此調整影響。

#### 3.6.7

 * Feedback Reporter 新增可選匿名前台回報：設定 `MDT_FEEDBACK_REPORTER_ALLOW_ANONYMOUS
   =true` 後，未登入訪客可使用同一套截圖、標註與錄影流程送出回報；匿名路徑使用短
   效 challenge、同站 Origin/Referer 驗證、honeypot、IP/UA/path rate limit、較小
   的預設檔案上限，且後台不對匿名訪客顯示。
 * 匿名模式第一版即支援錄影回報（`MDT_FEEDBACK_REPORTER_ANON_ALLOW_VIDEO` 預設 true），
   預設限制為 20 秒 / 15 MiB，截圖預設 2 MiB；log 會標記 `anonymous` 使用者並保存
   IP hash，不在匿名 log 中保存完整 IP。
 * Feedback Reporter 修正前台與後台回報入口的捲軸鎖定：開啟回報模式視窗時改用可還原
   的 scroll lock 保留原視覺位置，避免 WordPress 後台因 `overflow:hidden` 被瀏覽器
   重設到頁面頂端。
 * 所有 modal、錄影 popup 與送出完成流程改用 prevent-scroll focus，關閉或選擇截圖
   時會還原原始 scroll position，確保後續 Browser Screen Capture / SnapDOM fallback
   都從使用者當下的 viewport 進行。

#### 3.6.6

 * Feedback Reporter 在支援且安全的瀏覽器環境中優先使用 Browser Screen Capture API，
   並採用接近線上會議的螢幕/視窗/分頁分享選擇器；需要包含 DevTools 或瀏覽器外框時
   可選整個螢幕或視窗，使用者取消或瀏覽器不支援時才回落到 SnapDOM/DOM 截圖。
 * 新增錄製短片回報模式：支援 MediaRecorder 的安全桌機瀏覽器會開啟獨立錄影控制器，
   可選擇分頁、視窗或螢幕錄影，預設最長 60 秒；原頁跳轉不會中斷錄影，錄影中顯示倒數
   與停止按鈕，使用者可提前結束；送出時會附上錄影檔與封面截圖，後台 Feedback Logs
   可預覽影片。不支援或彈窗被阻擋時會回落到頁內錄影/截圖流程。
 * Discord / Slack webhook 會盡量使用一致的詳細資訊：使用者描述、頁面、SEO、回報
   者、角色、裝置、請求資訊、Console errors、Log、Screenshot、Video；Slack 使用 
   Block Kit + mrkdwn 欄位與可用時的截圖 image block，Video 欄位使用錄影檔案的站
   點完整 URL，方便內部通知直接點開；Apache/LiteSpeed `.htaccess` 會配合允許圖片/
   影片媒體檔直連並保留 JSON log 阻擋。
 * 標註編輯器改成只縮放 CSS 預覽，實際 canvas 保留原始截圖像素；預設截圖上限提高
   到 3840×8192、檔案上限提高到 5 MiB，改善文字與細節模糊問題。
 * Feedback Reporter viewport 截圖保留 client-side 資源 URL 正規化：對同站台的 www/
   non-www 圖片、`srcset`、inline style 與 computed background/mask image，改用目前
   頁面的 origin 讓 SnapDOM 直接讀取，避免常見跨 host alias 的 CORS/dataURL 失敗
   與截圖破碎。
 * 保持不走預設後端圖片 proxy；真正第三方且未提供 CORS 的資源在 SnapDOM fallback
   仍受瀏覽器安全模型限制，可用 Browser Screen Capture、來源端 CORS、上傳或貼上截
   圖 fallback。

#### 3.6.5

 * Feedback Reporter Logs 列表新增截圖縮圖，詳細頁新增大型截圖預覽；圖片透過後台
   權限與 nonce 保護的 `admin-post.php` endpoint 讀取，保留既有私有 log 目錄保護。
 * 修正 WordPress.org Test Preview 藍圖：先安裝並啟用 `mxp-dev-tools`，再啟用 Feedback
   Reporter 子外掛，避免 Playground 在外掛尚未安裝時執行 `activatePlugin` 造成 `
   Plugin file does not exist`。

#### 3.6.4

 * 修正 Feedback Reporter 捲動頁面的 viewport 截圖：以暫存 viewport 舞台擷取目前
   畫面，並把 fixed/sticky 元素依實際視窗座標重疊，避免 DDEV 固定底部操作列在桌機
   與手機截圖中位移或遮蓋錯誤。
 * 移除標註視窗中的「貼上截圖」按鈕；保留 Ctrl/⌘+V paste 事件與「上傳截圖」fallback，
   避開瀏覽器 Clipboard API 權限不一致造成的空按鈕體驗。

#### 3.6.3

 * 修正 Feedback Reporter 自動截圖範圍：截圖前不再先鎖定頁面捲動，並以目前 viewport
   捲動位置裁切，避免回報內容誤抓頁面頂端。
 * 新增截圖取代功能：標註視窗可上傳 PNG/JPEG/WebP，或在支援的瀏覽器按 Ctrl/⌘+V 從
   剪貼簿貼上圖片。
 * 強化替代截圖流程的 RWD 介面、圖片尺寸壓縮、格式檢查與錯誤提示，讓桌機、手機與
   不同瀏覽器都有檔案上傳 fallback。

#### 3.6.2

 * Feedback Reporter 啟用子外掛後預設可直接回報並保存本機 log/截圖；`MDT_FEEDBACK_REPORTER_ENABLE
   =false` 仍可覆寫關閉。
 * Feedback Logs 頁面新增 webhook 設定提醒：未設定時顯示通知，已設定時顯示目前通知
   類型與 host。
 * 新增 Slack incoming webhook 自動偵測與 `MDT_FEEDBACK_REPORTER_WEBHOOK_FORMAT=
   slack`，使用 JSON + Block Kit 送出摘要與本機 log/截圖路徑。
 * 新增 WordPress Playground `assets/blueprints/blueprint.json`，支援 WordPress.
   org 外掛頁即時預覽。
 * 移除外部服務依賴說明段落。

#### 3.6.1

 * 更新 Feedback Reporter vendored SnapDOM 至 `3.2.0`。
 * 確認 SnapDOM 3.2.0 與現有截圖流程相容：新增 ESM 動態載入 fallback，維持 `snapdom(
   target, options)`、`toBlob()`、viewport clip、ignore selector 與遮罩流程可正常
   運作。
 * 強化 Feedback Logs 後台檢視頁：重要資訊分卡片顯示、webhook 狀態 badge、補送/刪除
   操作、Raw JSON 與手機版 RWD 呈現。

#### 3.6.0

 * 新增 `Dev Tools: Feedback Reporter - Mxp.TW` 子外掛，支援前台與後台登入用戶截
   圖、標註、填寫描述與 webhook 回報。
 * 新增 `MDT_FEEDBACK_REPORTER_*` 常數設定：啟用狀態、後台低干擾入口、webhook、HTTPS/
   憑證嚴格度、role/user ID 限制、截圖大小、遮罩 selector、rate limit、log 保留天數
   與檔案數上限。
 * 新增本機 JSON log + screenshot 檔案薄紀錄與每日清理機制；管理員可從「工具  Feedback
   Logs」讀取檔案型回報紀錄、檢查 webhook 送出狀態、手動補送 webhook，並刪除紀錄；
   移除子外掛時預設刪除 log。
 * 強化 Feedback Reporter 送出流程：後端在 webhook 前重新壓縮超限截圖，並將截圖頁
   面的 SEO meta/canonical/Open Graph/Twitter/H1/JSON-LD 型別摘要一併寫入 log 與
   webhook。

#### 3.5.9

 * 調整網域到期檢查的 observed host 行為：預設不再自動記錄 HTTP_HOST，可用 `MDT_DOMAIN_EXPIRY_OBSERVE_HOSTS`
   啟用。
 * 新增 observed host 180 天保留規則、獨立檢視頁與刪除操作，避免非主要網域直接出
   現在控制台。

#### 3.5.8

 * 新增網域到期檢查資訊的註冊商、註冊日期、網域狀態、DNSSEC 與 Name Server 等基本
   細節。
 * 調整網域到期通知文案，改用「已進入到期前提醒」並加入註冊商資訊，方便確認續約平台。

#### 3.5.7

 * 調整網域到期檢查資訊顯示完整主機名稱，避免子網域被簡化為主網域。
 * 調整網域到期通知規則，僅通知 home_url / site_url 類型來源，純 observed_host 不
   寄送通知。

#### 3.5.6

 * 調整網域到期檢查資訊的後台文案，移除不易理解的英文術語。

## Meta

 *  Versión **3.6.11**
 *  Última actualización **hace 5 días**
 *  Instalaciones activas **90+**
 *  Versión de WordPress ** 5.6 o superior **
 *  Probado hasta **7.1.3**
 *  Versión de PHP ** 7.4 o superior **
 *  Idioma
 * [English (US)](https://wordpress.org/plugins/mxp-dev-tools/)
 * Etiquetas:
 * [database](https://es.wordpress.org/plugins/tags/database/)[development](https://es.wordpress.org/plugins/tags/development/)
   [migration](https://es.wordpress.org/plugins/tags/migration/)[security](https://es.wordpress.org/plugins/tags/security/)
   [snippets](https://es.wordpress.org/plugins/tags/snippets/)
 *  [Vista avanzada](https://es.wordpress.org/plugins/mxp-dev-tools/advanced/)

## Valoraciones

 5 de 5 estrellas.

 *  [  1 valoración de 5 estrellas     ](https://wordpress.org/support/plugin/mxp-dev-tools/reviews/?filter=5)
 *  [  0 valoraciones de 4 estrellas     ](https://wordpress.org/support/plugin/mxp-dev-tools/reviews/?filter=4)
 *  [  0 valoraciones de 3 estrellas     ](https://wordpress.org/support/plugin/mxp-dev-tools/reviews/?filter=3)
 *  [  0 valoraciones de 2 estrellas     ](https://wordpress.org/support/plugin/mxp-dev-tools/reviews/?filter=2)
 *  [  0 valoraciones de 1 estrellas     ](https://wordpress.org/support/plugin/mxp-dev-tools/reviews/?filter=1)

[Tu valoración](https://wordpress.org/support/plugin/mxp-dev-tools/reviews/#new-post)

[Ver todas las reseñas](https://wordpress.org/support/plugin/mxp-dev-tools/reviews/)

## Colaboradores

 *   [ mxp ](https://profiles.wordpress.org/mxp/)

## Soporte

¿Tienes algo que decir? ¿Necesitas ayuda?

 [Ver el foro de soporte](https://wordpress.org/support/plugin/mxp-dev-tools/)

## Donar

¿Te gustaría apoyar el progreso de este plugin?

 [ Dona a este plugin ](https://mxp.tw/lw)