
我們將看看什麼是xmlrpc.php,以及編寫它的原因。 我們還回顧了它引起的最常見的安全問題,以及如何在您自己的WordPress網站上修復這些問題。
什麼是Xmlrpc.php
XML-RPC是WordPress的作為與其他系統可以互相傳輸資料的一個功能,以 HTTP 作為傳輸機制及 XML 作為編碼機制。 由於WordPress不是一個自封閉的系統,偶爾需要與其他系統通訊,因此以 XML-RPC 來處理這項工作。
例如,假設您想從移動裝置發表文章到您的網站,但是您的電腦不在附近,您可以使用 xmlrpc.php 來啟用的遠端訪問功能來做到這一點。
xmlrpc.php啟用的核心功能是允許您透過智慧手機連線到您的網站,實現管理您的網站。
為什麼要建立 Xmlrpc.php 以及如何使用它
XML-RPC的使用可以追溯到WordPress的早期,甚至在它被稱為WordPress之前。
在網際網路的早期,當連線速度非常慢時,在網際網路上寫作和發表文章要困難得多,也很耗時。 大多數人不會在瀏覽器中寫作,而是離線寫作,然後將內容複製並貼上到網路上。所以,這個流程並非理想。
當時,解決方案是建立一個離線部落格客戶端,在連線到部落格釋出之前,您可以在其中編寫內容。 此連線是使用XML-RPC建立的。早期應用程式使用相同的連線,允許人們在XML-RPC的基本框架到位後從其他裝置登入他們的WordPress網站。
XML-RPC最初預設被禁用,直到WordPress 2.6在儀表板中添加了啟用或禁用它的功能。
WordPress 3.5和WordPress移動應用程式的引入預設啟用XML-RPC。此更改還從儀表板中刪除了啟用或禁用XML-RPC的選項。
現在的XML-RPC
2015年,WordPress核心收到了一個新的REST API。 它使 WordPress 能夠包含一個API,用於與移動應用程式和其他平臺進行互動。
許多開發人員開始使用新的API,導致XML-RPC的使用大幅減少。 換一種說法,REST API有效地取代了XML-RPC。XML-RPC在WordPress中仍然啟用,xmlrpc.php 檔案仍然位於核心軟體目錄中。
為什麼你應該禁用 Xmlrpc.php
XML-RPC最大的問題是出現的安全問題。 問題不直接出在XML-RPC上,而出在於如何使用該檔案對您的網站進行暴力攻擊。
當然,您可以使用非常強大的密碼和WordPress安全外掛來保護自己。 但是,最好的保護模式就是簡單地禁用它。
XML-RPC有兩個主要弱點,過去曾被利用過。
第一個是使用暴力攻擊來進入您的網站。 攻擊者將嘗試使用各種使用者名稱和密碼組合,使用xmlrpc.php訪問您的網站。 他們可以有效地使用一個命令來測試數百個不同的密碼。 這允許他們繞過通常檢測和阻止暴力攻擊的安全工具。
第二個是透過DDoS攻擊使網站離線。 駭客將使用WordPress中的pingback功能,立即向數千個網站傳送pingback。 xmlrpc.php中的此功能為駭客提供了幾乎無窮無盡的IP地址來分發DDoS攻擊。
要檢查XML-RPC是否在您的網站上執行,那麼您可以透過一個名為XML-RPC驗證器的工具執行它。 透過該工具執行您的網站,如果您收到錯誤訊息,則表示您沒有啟用XML-RPC。
如果您收到成功訊息,您可以使用以下兩種方法之一停止xmlrpc.php。
如何在WordPress中禁用Xmlrpc.php
既然您瞭解了為什麼使用xmlrpc.php以及為什麼應該刪除它,讓我們來回顧一下在WordPress中禁用它的兩種方法。
1. 使用外掛禁用Xmlrpc.php
只需從WordPress儀表板中導航到外掛 › 新增新部分。 搜尋禁用XML-RPC-API並安裝外掛。
啟用外掛,您就準備好了。 此外掛將自動插入必要的程式碼來關閉XML-RPC。
然而,請記住,一些現有的外掛可能會使用XML-RPC的一部分,因此完全禁用它可能會導致外掛衝突或您網站的某些元素不再工作。
2. 手動禁用 Xmlrpc.php
如果您不想使用外掛,更喜歡手動操作,請遵循此方法。 在傳遞到WordPress之前,它將停止所有傳入的xmlrpc.php請求。
開啟你的 .htaccess 檔案。 您可能需要在檔案管理器或FTP客戶端中開啟“顯示隱藏檔案”才能找到此檔案。
在您的 .htaccess 檔案中,貼上以下程式碼:
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
</Files>
重要! 將xxx.xxx.xxx.xxx更改為您希望允許訪問xmlrpc.php的IP地址或完全刪除此行。
結論
總體而言,XML-RPC是解決因遠端釋出到您的WordPress網站而出現的一些問題的可靠解決方案。 然而,此功能出現了一些安全漏洞,最終對一些WordPress網站所有者造成了相當大的破壞。
為了確保您的網站保持安全,完全禁用 xmlrpc.php 是個好主意。 除非您需要遠端釋出和Jetpack外掛所需的一些功能。 然後,您應該使用允許這些功能的變通外掛,同時仍然修補安全漏洞。