Disable XML-RPC
WordPress 從3.5版開始,XML-RPC 這個功能在預設的情況下就是啟用的,而XML-RPC有什麼作用呢?XML-RPC是一種遠端程序呼叫的分布式計算協議,並使用HTTP協議作為傳送機制。更簡單一點說明,就是透過像是Windows Live Writer發佈文章,或是WordPress Mobile App 來編輯發佈文章等,都是透過XML-RPC 協議來完成的,不過這樣的一個便利的功能,卻被有心人士利用來作為攻擊的一種方法,在2014年曾經發生過一次大規模的攻擊事件,多數受害的 WordPress 網站,就是被XML-RPC的漏洞所影響。因此,如果你的 WordPress 網站並沒有使用這項功能來進行網站文章編輯發佈,建議把這個功能關閉 Disable XML-RPC(註)。
接著就跟大家分享如何在 WordPress 裡 Disable XML-RPC 的相關步驟。
1. 在 WordPress 後台管理介面的設定,討論,預設文章設定,將試著去通知文章中鏈結到的任何網誌與允許其他網誌傳送引用通告至新文章取消勾選(如圖)。
2. 透過文字編輯軟體編輯子佈景主題下的functions.php檔,填入以下語法:
1 |
add_filter('xmlrpc_enabled', '__return_false'); |
3. 更進一步的將所有的請求連線給拒絕掉。可以在安裝WordPress的根目錄下,找到.htaccess檔案,加入如下的語法:
1 2 3 4 5 6 |
# 封鎖對 WordPress xmlrpc.php 請求連線的所有IP,只開放自己的IP通行 <Files xmlrpc.php> order deny,allow deny from all allow from 123.456.789.012 </Files> |
allow from 123.456.789.012 這是允許你自己的IP(123.456.789.012,請自行替換成自己確實的IP)可以請求xmlrpc.php,如果完全不使用,這一行可以刪除。
4. 以上完成。
(註) 如果你的網站有使用 Jetpack 這一個熱門的外掛程式,那麼上述的說明可能會影響 Jetpack 外掛程式的使用,請自行斟酌使用。