サイトアドレスの後に「/wp-json/wp/v2/users」か「/?rest_route=/wp/v2/users」と入力してもログインIDはわかる。
Cocoonでも「/wp-json/wp/v2/users」「/?rest_route=/wp/v2/users」の対策はしていないみたい。
さて、これをどうする?
functions.php に「/wp/v2/users」を無効化するコードを書き込む
〔functions.php〕 にコードを書き込み「/wp/v2/users」を無効化する方法があるようだ。
書き込むコードは↓
function my_filter_rest_endpoints( $endpoints ) {
if ( isset( $endpoints['/wp/v2/users'] ) ) {
unset( $endpoints['/wp/v2/users'] );
}
if ( isset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] ) ) {
unset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] );
}
return $endpoints;
}
add_filter( 'rest_endpoints', 'my_filter_rest_endpoints', 10, 1 );
参照元は、「https://xakuro.com/blog/wordpress/1587/」。
なぜ、「/wp/v2/users」でログインIDが出てくるのかわからないKには、何が何だかさっぱりわからないので、詳しい内容は、そちらの管理人様にお尋ねください。
ちなみに、こちらの管理人様、上のような機能を簡単に管理できるプラグインも配布している様子。
「/wp/v2/users」以外でもログインIDがすぐわかる
WordPressの場合、あちらこちらで、ログインIDが分かってしまう。
例えば、「author」。
Cocoonのプロフィール設定でログインIDを隠す方法はこちら。
「Simplicity2」でログインIDを隠す方法はこちら。
WordPressはログインIDを隠すべきと思っていない
WordPressサイトのあちこちでログインIDが表示されるのは、WordPressを作っている人たちが「ログインIDは公開情報」と思っているかららしい。
でも、正直あまりありがたくない。
コメント