概要説明
xmlrpc.php攻撃の対象になる可能性があるため不要であれば無効化するカスタマイズ。
~ 目次 ~
.htaccess にてアクセスを制限する
.htaccess
<Files "xmlrpc.php"> Require all denied </Files>
functions.php にてヘッダーから削除
functions.php
/*---------------------------------------------------- xmlrpc.phpを無効化 ----------------------------------------------------*/ add_filter( 'xmlrpc_enabled', '__return_false' ); remove_action('wp_head', 'rsd_link');
htmlソース
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://xxxxxxx/xmlrpc.php?rsd" />
上記のxmlrpc.phpを含む記述がhtmlソースから消えたことを確認してください。
xmlrpc.phpがまだ残っている場合ファイルから探して削除
// 該当記述を探して削除 <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>">
XML-RPCの状態を確認
https://確認したいWordPressサイトのURL/xmlrpc.php にアクセスしてみてください
XML-RPC server accepts POST requests only.が表示されたら無効化されていません。
WordPressのバージョンアップの際にxmlrpc.phpが作成されます。
プラグインで対応を行う場合
SiteGuard WP Plugin こちらでXMLRPCの制御が行なえます。
公式解説ページ
.htaccess
<Files xmlrpc.php> <IfModule authz_core_module> Require all denied </IfModule> <IfModule !authz_core_module> Order allow,deny Deny from all </IfModule> </Files>
無効化の設定を行うと.htaccessに上記設定を追加しているようです。