先日から期間限定の捨てメールアドレスでプラグインの翻訳ファイルなどを泥棒?していく輩対策としてユーザー登録制にしました。「Ban Hummer」という登録時のメールアドレス拒否を行うプラグインを軸に、ユーザー登録後のログイン/ログアウトは画面移動なしで構築したかったのでちょっと苦労しました。どうやって作ったかは
を見ていただければわかります。WordPress4.6以降、ユーザー登録はダブルオプトインになっていて、登録するとパスワード変更をするためのURLが含まれたメールが送られ、一旦そのURLにアクセスして更新しないと登録が完了しないようになっていることすら知らなくて、最終的にはこのパスワード変更については一度通常のログイン画面を出すしかなく、ログイン画面のカスタマイズをすることでそれなりな感じにして完了しました。
・・・のはずでした・・・。というのは、今回はファイルのダウンロードを行うためにユーザー登録が必要という要件にしたかっただけで、フロントエンドで画面移動なしのログイン/ログアウトは「Login With Ajax」というプラグインで実装。そしてウィジェットの設定でプロフィール画面を表示しないようにしたのでこれでよし!!と思ってました。
が、しかし・・・どこかの誰かさんが直接プロフィール編集画面のURLを叩いて更新してくれたおかげ?でウィジェットの設定だけではだめだったことが発覚!!早速バックエンドに入れなくするプラグインを変更して対策しました。
一応何度か登録、ログイン/ログアウトをしながらプロフィール編集画面が出ないかどうかテストしてOKだったのでこれで大丈夫だと思います。
なぜプロフィール画面で更新されたことがわかったかというと、全く関係ないメルマガのプラグインの購読者の情報が発端。このプラグインの購読者は手動で追加しないといけないようになっているのですが、バックエンドでWordPressのユーザー登録を行うと自動で登録されるようでした。それで購読者の一覧に見慣れない「WordPressユーザー」という購読者カテゴリーが登場!!で発覚しました。
最初はプロフィール編集できるわけがないし、なんで「WordPressユーザー」という購読者カテゴリーが登場したのかも不明でしたが、いろいろと調べるうちに連携されていることがわかり、かつ、バックエンドでユーザー編集をしないとこの連携が動作しないということが分かり、それじゃあどうやって??で今回の件にたどり着いたわけです。
そのユーザーさんは荒さがししただけのよう(何度かログイン/ログアウトしただけでファイルのダウンロードはされていない)なので、ユーザー登録を削除させていただきました。本当に必要だったら再度登録されるでしょうから・・・。
いつもは迷惑行為されるとイライラするのですが、今回ばかりはちょっと勉強になりました。