本篇文章更新時間:2019/02/16
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知或向一介資男的 LINE 社群反應。
如果本站內容對你有幫助,歡迎贊助支持


話說在前頭,這只適用當主題與外掛都使用 WordPress HTTP API 來做請求的時候。其他自幹發請求的作法(cURL, file_get_contents..)只能統一設定防火牆將對外出口 Port 給封鎖。

方法: 將這段 define( 'WP_HTTP_BLOCK_EXTERNAL', true ); 放置在 wp-config.php 檔案中,預設就會阻止全部的對外請求,內建的請求大多為各種檢查更新,如果有希望部分放行的話需要再補這段 define( 'WP_ACCESSIBLE_HOSTS', 'api.wordpress.org,*.github.com' ); 添加其他可以通過的主機。

需要這些方法的情境比較特殊,本機開發下如果在網路環境不好的狀態可以使用這個做法避免多餘的請求,再來還有就是如果主機環境其實有防火牆封鎖對外請求的時候,沒有乾脆自己先阻擋請求,反而會讓網站載入變慢與卡住,因為都在等請求超時(timeout)才會有後續的操作發生。

通常都是把這套架構放置在內網作業時會發生,至於其他沒有使用 HTTP API 方式操作的外掛或主題,只能一個一個去掃描請求來做阻擋,阻擋方式除了指定主機解析路徑外,可能就要硬幹去從程式中改變行為。

做過一次就會知道 WordPress 是一個沒對外網路會有問題的系統(誰家網站不是啊!?)XD 怎麼看待眼前這個工具的彈性是人,不要被限制住想像了~

#WordPress #HTTP #API #BlockRequest #技術相關 #封鎖請求

- Powered by Mxp.TW -FB2WP-


Share:

作者: Chun

WordPress 社群貢獻者、開源社群推廣者。專注於 WordPress 外掛開發、網站效能最佳化、伺服器管理,以及 iDempiere 開源 ERP 導入與客製開發。曾參與 WordCamp Taipei 等社群活動,GitHub Arctic Code Vault Contributor。提供資訊顧問、WordPress 開發教學、主機最佳化與企業 ERP 整合服務。

發佈留言

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


文章
Filter
Apply Filters
Mastodon