
ワードプレスのアーカイブページやコメント欄からユーザー名が漏洩してしまう・・・という事が1年ほど前に話題になっていましたが、今回はそんな『ユーザー名』を変更。というか表示させない方法について触れていきます。
記事ページなどの投稿者名では『ユーザー名』ではなく『ニックネーム』を表示される機能がありますが、ブログへいただいたコメントへ返信した際に、返信者のユーザー名を変更していても『クラス付与』が原因で見られてしまう。ということで困っている人もいると思います。
こちらの記事を参考にして、ぜひ問題を解決していただければと思います^^
ワードプレスのコメント欄って?
ワードプレスには、ブログ記事に対してコメントをつけることができる『コメント機能』というものがあります。
ワードプレスにログイン後、メニューに出てくるこちらの部分です↓
いただいたコメントを承認するだけなら、コメントをくれた人のコメントだけが表示されるのですが、そのまま『返信』をした場合は自分のユーザー名までも表示されてしまいます。
こんな感じで↓
この部分は返信時に好きなニックネームに変更してから返信するようにすれば変えることができます。
こんな風に変更可能 ↓
もしニックネームやハンドルネームで返信しているのであれば、このように『返信時の名前を変更』しておけば問題はありませんよね。
ですが、開発者モードでサイトを見れば、たとえニックネーム表記だったとしてもユーザー名を知ることもできるので、
それは困るなぁ。
という方は、ここから先の『解決法』をご覧になってください。
HTMLにユーザー名クラスが付与されている
コメント欄の名前にニックネームなどが表示されていたとしても、開発者モードで見ればユーザー名もすぐに分かります。
こちらはソース ↓
これは、クラスにユーザー名が付与されるようになっているのが原因です。
このように、HTMLファイルには(comment-author-●●●)のように書かれています。
この問題を解決するには、ワードプレスのテーマにある『 functions.php 』に少し加えるだけで解決することができるのです。
functions.phpを編集する場合、間違えるとブログ自体が表示されなくなってしまったり、何らかの不具合が生じることがありますので、編集前に必ずバックアップを取ってから作業をするようにしてください。
ここでは2種類の解決方法を紹介していますので、あなたに合った解決方法をお試しいただけるといいと思います。
functions.phpに追記する方法
お使いのテーマファイルの中にある『functions.php』にこのコードを追記してください。
1 2 3 4 5 6 7 8 9 |
function remove_comment_author_class( $classes ) { foreach ( $classes as $key => $class ) { if ( strstr( $class, 'comment-author-' ) ) { unset( $classes[$key] ); } } return $classes; } add_filter( 'comment_class', 'remove_comment_author_class', 10, 1 ); |
追記する方法
function.phpをテクストエディタで開きます。
追記はどこでも構いませんが、今回は一番下に追記していきます。
こちらが追記前の状態 ↓
こちらが追記後の状態 ↓
保存後、FTPソフトを使ってサーバーへアップロードしてください。
先ほどと同じように開発者モードを使ってソースを見てみると・・・開発者モードで見てもHTMLソース内にユーザー名は出力されなくなりました。
これでユーザー名の漏洩を防ぐことができましたね。
めでたしめでたし。
プラグインを利用する場合
⇒ https://ja.wordpress.org/plugins/xo-security/
『XO Security』というプラグインを利用すれば、コメント欄のユーザー名クラスを削除してくれたり、ログインページやコメントフォームに『CAPTCHA』を追加することなどもできるので、セキュリティ面をもう少し強化したい!と思っている場合にもおすすめできるプラグインです。
※当ブログでは『SiteGuard』というプラグインを紹介していますが、XO Securityは各機能にON/OFFが付いているので、競合しそうな機能は『OFF』にして使うことで競合することなく併用可能となっています。
以下、公式の内容をGoogle翻訳したものです。
説明
XO Securityは、ログイン関連のセキュリティを強化するためのプラグインです。
このプラグインは.htaccessファイルに書き込みません。 Nginxも動作します。機能
・ログインログを記録します。
・ログイン試行を制限する。
・ログイン警告。
・ログインするCAPTCHA。
・コメントフォームCAPTCHA。
・ログインページのURLを変更します(WordPressのマルチサイトサブドメインタイプはサポートされていません)。
・wp-adminへのアクセスをブロックします。
・XML-RPCを無効にする。
・XML-RPC Pingbackを無効にする。
・REST APIを無効にします。
・REST APIのURLプレフィックスを変更します。
・著者のアーカイブページを無効にする。
・コメントリストのコメント投稿者クラスを削除します。
・WordPressのマルチサイトサポート。
・CAPTCHA機能には、mbstringとGDライブラリが必要です。
コメントを残す