
WordPressを使うにおいて、xmlrpc.php対策は必須となっています。主にhtaccessで対策するのが一般的だと思います。
一般的な対策
htaccessに以下のように追記することだと思います。
このようにすることだと思います。このやり方はプラグインを使わなくてもできる方法です。ただサーバーの負荷が若干あがるらしいです。
最近のやり方
最近は上記のようなやり方ではなく、以下のようにするみたいです。
1 | <IfModule mod_rewrite.c> |
3 | RewriteRule ^xmlrpc\.php$ "http\:\/\/0\.0\.0\.0\/" [R=301,L] |
4 | RewriteRule ^index\.php$ - [L] |
このようにします。xmlrpc.phpにアクセスしたら、http://0.0.0.0というところにリダイレクトさせるみたいです。このほうがサーバーの負荷が低いみたいです。
その他の方法
function.phpで無効化
htaccessは、レンタルサーバーやApacheを使っている場合は使えますが、例えばnginxを使っているようなサーバーでは使う事ができません。htaccess自体nginxが対応していないためになります。nginxを使っている人はconfファイルをいじるか、プラグインやphpファイルで無効化することになります。
2 | add_filter(‘xmlrpc_enabled’, ‘__return_false’); |
5 | function remove_x_pingback( $headers ) { |
6 | unset( $headers [‘X-Pingback’]); |
9 | add_filter(‘wp_headers’, ‘remove_x_pingback’); |
このようになります。
プラグインを使う
Disable XML-RPC Pingbackというプラグインをインストールして有効化することで対策できるみたいです。
※使った事がないのでこれに関しては正直わかりません。
Apacheを使っている方はhtaccessが行うのがいいかもしれません。nginxの人は面倒ですがconfファイルをいじって対策がいいかもしれません。
個人支援・寄付について
サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。
- ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS