外掛說明
這個外掛只有一個功能,便是針對未登入 WordPress 的訪客完全停用 REST API,而且不需要任何組態。
請務必注意,這個外掛會針對未登入 WordPress 的訪客完全停用 REST API。如果網站需要將 WP REST API 開放給未登入使用者使用,不建議使用這個外掛。
👉 防止網站的 REST/JSON API 遭到濫用最快、最簡易的方式
👉 保護網站的 REST 資料免受未登入的使用者及漫遊器的侵擾
👉 程式碼僅有 4KB,極致的輕量化、快速及效率
🛠️ 現已提供 Pro 版。進一步了解 REST Pro Tools »
外掛特色
- 為未登入的使用者停用 REST/JSON
- 為全部使用者停用 HTTP 回應中的 REST 標頭
- 為全部使用者停用 HTML 標頭中的 REST 連結
- 完全隨裝即用,設定後不需後續管理
外掛運作方式
除非使用者登入 WordPress,否則這個外掛會完全停用 WP REST API。
- 對已登入/完成驗證的使用者來說,WP REST API 會正常執行
- 對未登入/已登出/未經驗證的使用者來說,WP REST API 會是停用狀態
至於已登出/未登入的使用者產生 JSON/REST 要求後,他們會收到以下訊息:
rest_login_required: REST API restricted to authenticated users.
這個訊息可透過篩選器勾點 disable_wp_rest_api_error 進行自訂,請參考這篇文章的範例了解如何使用這個篩選器勾點。
Pro 版
🛠️ 進一步了解 Pro 版,REST Pro Tools 包含多項強大的功能:
- 一鍵停用全部路由
- 一鍵停用全部/使者用路由
- 依據使用者角色停用指定使用者路由
- 將任何使用者新增至允許清單
- 將任何 IP 位址新增至允許清單
- 自訂 REST 錯誤訊息
- 自訂 REST 回應碼
- 持續要求或強制使用 SSL/TLS
- 停用全部 JSONP 小技巧
- 一鍵停用全部 REST API 標頭
- 新增任何內容中繼資料 (自訂欄位) 至 REST API
- 新增任何使用者中繼資料 (自訂欄位) 至 REST API
- 新增網站使用者個人資料及作者個人資料的路由
- 新增精選圖片及文章分類的路由
- 新增文章分類法及分類法詞彙的路由
- REST API 檢查狀況概觀
免費版只有針對未驗證的 WordPress 使用者完全停用 REST API 的功能,Pro 版除了這個功能,還有更多控制功能,使用 REST Pro Tools 便能完整控制 REST API。
隱私權
這個外掛不會收集或儲存任何使用者資料。它不會設定任何 Cookie,也不會連線至任何第三方位置,因此它不會透過任何方式侵犯使用者隱私。相反的,這個外掛可以改善使用者隱私,因為它可以保護潛在的敏感資訊不會透過 TEST API 顯示/存取。
Disable WP REST API 由具備 15 年 WordPress 開發者及書籍作者經驗的 Jeff Starr 開發及維護。
支持這個外掛的開發工作
因為喜愛 WordPress 社群,因此我開發並維護這個免費外掛。如果想要支持外掛開發工作,請贊助開發工作或購買我撰寫的書籍:
- The Tao of WordPress
- Digging into WordPress
- .htaccess made easy
- WordPress Themes In Depth
- Wizard’s SQL Recipes for WordPress
也可以透過購買以下付費 WordPress 外掛支持外掛開發:
- BBQ Pro:效能極佳的 WordPress 防火牆
- Blackhole Pro:自動封鎖惡意漫遊器
- Banhammer Pro:監控網路流量及封鎖惡意存取
- GA Google Analytics Pro:將 WordPress 網站連接至 Google Analytics
- Head Meta Pro:沒有限制的 WordPress 中繼資料標籤外掛
- REST Pro Tools:管理 WP REST API 的絕佳工具
- Simple Ajax Chat Pro:沒有限制的聊天室
- USP Pro:沒有限制的網站前端功能表單
十分歡迎外部連結、轉推及按讚,謝謝大家 🙂
安裝方式
手動安裝
- 上傳外掛檔案至網站並完成啟用。
- 大功告成!不需進行任何組態。
進一步了解安裝 WordPress 外掛
測試方式
如需了解這個外掛是否正確執行,請登出 WordPress 並在瀏覽器中對 https://example.com/wp-json/ 提出要求。請參考〈常見問題集〉以進一步了解。
Pro 版
如果需要對 WP REST API 進行更多控制,請使用 Pro 版。
如果這個外掛對網站有所幫助
如果 Disable WP REST API 對網站有所幫助,請給予 5 星評等,這對外掛的持續開發及支援會有正面的幫助,謝謝大家。
解除安裝
如需移除外掛,請前往 [外掛] 頁面,先停用外掛,然後刪除外掛。這個外掛不會對原有的網站資料進行任何變更。
常見問題集
-
為什麼會有停用 RSET API 的需求?
-
這個外掛實際上只會針對未登入 WordPress 的使用者停用 REST API。以下是針對未登入的使用者停用 REST API 的幾個原因:
- 未登入的使用者可能不需要 REST API
- 停用 REST API 可以節省伺服器資源
- 停用 REST API 可以最大程度降低潛在的攻擊途徑
- 停用 REST API 可以防止內容遭到擷取及抄襲
這裡還有可供大家參考的其他原因。
-
預設的拒絕存取訊息是什麼?
-
如果是已登入 WordPress 的使用者,便會顯示正常的 REST API 資料;如果使用者未登入,以下便是預設訊息:
{"code":"rest_login_required","message":"REST API restricted to authenticated users.","data":{"status":401}} -
如何確認 REST 已停用?
-
測試方式非常簡單:
- 登出 WordPress
- 使用瀏覽器對
https://example.com/wp-json/提出要求
如果看到以下訊息,代表 REST 已停用:
rest_login_required: 僅有已驗證的使用者可以使用 REST API。如果再次登入 WordPress 並對
https://example.com/wp-json/提出要求,便會看到 REST 以如預期般執行。 -
這個外掛是否能停用由其他外掛新增的 REST 功能?
-
是。這個外掛會為未登入的使用者停用由 WP REST API 註冊的全部端點,但不會封鎖已登入使用者使用 WP REST API 的權限。
-
這個外掛是否能與區塊編輯器搭配使用?
-
可以,無論使用哪一個編輯器 (傳統編輯器或區塊編輯器),這個外掛的執行方式都一樣。
-
自訂錯誤訊息的方式為何?
-
依照預設,這個外掛會對未通過身分驗證的使用者顯示「僅有已驗證的使用者可以使用 REST API」。如需依據需求自訂這個訊息,請在目前使用的佈景主題的 functions.php 中或使用自訂外掛新增以下程式碼:
function disable_wp_rest_api_error_custom($message) { return 'Customize your message here.'; // change this to whatever you want } add_filter('disable_wp_rest_api_error', 'disable_wp_rest_api_error_custom'); -
如何允許存取 Contact Form 7?
-
依據這篇討論串的說明,Contact Form 7 需要存取 REST API 才能讓聯絡表單正常執行。如果需要允許 Contact Form 7 存取 REST API,請參考這篇文章。
-
如何提問?
-
請透過這份聯絡表單提出問題或意見反應。
使用者評論
參與者及開發者
變更記錄
如果 Disable WP REST API 對網站有所幫助,請給予 5 星評等,這對外掛的持續開發及支援會有正面的幫助,謝謝大家。
🛠️ Pro version now available! Get granular control over the REST API with REST Pro Tools »
2.6.8
- Improves readme.txt documentation
- Adds blurb about new pro version
- Tests on WordPress 7.0
Full changelog @ https://plugin-planet.com/wp/changelog/disable-wp-rest-api.txt