wordpress如何遮蔽wp-json(禁用REST API)
阿新 • • 發佈:2022-05-03
最近網友問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 功能失效。