1. 程式人生 > 其它 >wordpress如何遮蔽wp-json(禁用REST API)

wordpress如何遮蔽wp-json(禁用REST API)

  最近網友問ytkah怎麼在網站日誌檔案中發現蜘蛛爬行了很多次的/wp-json/目錄,在robots檔案中disallow掉了爬蟲還是訪問了那個目錄,能不能直接在程式中直接改呢?通過查詢相關文件發現WordPress 4.4版本以後增加了一個REST API功能, 通過REST API可以很輕鬆的獲取網站的資料,但是這個功能並不是每個網站都需要的,或者說有需要但並不希望它在head裡面輸出,那麼可以禁用REST API或者說移除head裡面wp-json連結。

// 遮蔽 REST API
add_filter('rest_enabled', '__return_false');
add_filter('rest_jsonp_enabled', '__return_false');

// 移除頭部 wp-json 標籤和 HTTP header 中的 link 
remove_action('wp_head', 'rest_output_link_wp_head', 10 );
remove_action('template_redirect', 'rest_output_link_header', 11 );

  另外需要注意的是,遮蔽 REST API 會直接導致 文章 Emebed 功能失效。