スパム対策 – インクループ株式会社|神奈川県相模原市 ホームページ制作、WEBマーケティング https://incloop.com インクループ株式会社は、お客様の顧客獲得をマーケティングを活用して支援する会社です。 データ分析、市場調査に基づく企画立案、コンテンツ制作、運用を通じてお客様の目標を実現します。 Thu, 19 Nov 2020 00:59:16 +0000 ja hourly 1 https://wordpress.org/?v=4.9.19 《WordPress》reCAPTCHAを記事のコメントに導入してボットによる大量のコメントを遮断しよう! https://incloop.com/recaptcha%e3%82%92%e8%a8%98%e4%ba%8b%e3%81%ae%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88%e3%81%ab%e5%b0%8e%e5%85%a5%e3%81%97%e3%81%a6%e3%83%9c%e3%83%83%e3%83%88%e9%81%ae%e6%96%ad/ https://incloop.com/recaptcha%e3%82%92%e8%a8%98%e4%ba%8b%e3%81%ae%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88%e3%81%ab%e5%b0%8e%e5%85%a5%e3%81%97%e3%81%a6%e3%83%9c%e3%83%83%e3%83%88%e9%81%ae%e6%96%ad/#respond Mon, 06 Nov 2017 08:31:04 +0000 https://incloop.com/?p=14802 リキャプチャロゴ

以前、弊社のブログに下記のような記事を書いています。 reCAPTCHAを導入することで、お問い合わせに関する […]]]>
リキャプチャロゴ

以前、弊社のブログに下記のような記事を書いています。

よく分からない英語やら中国語のようなお問い合わせが大量に届いたことはありませんか?それらはボット(悪さをするプログラム)による仕業です。ホームページからお問...
《WordPress》reCAPTCHAをContact Form7に導入してボットによる大量のお問い合わせを遮断しよう! - incloop.com

reCAPTCHAを導入することで、お問い合わせに関するイタズラは上記の記事でバッチリ対応できます。
ですが!上記の方法では投稿記事のコメント欄から送られてくる大量のコメントに対応できません…。
ということで!今回はreCAPTCHAを投稿記事のコメント欄に設置してスパム対策をしてみましょう!

reCAPTCHAの公式サイトからSite keyとSecret Keyを取得する

reCAPTCHAを使用するためにはグーグルのアカウントが必要となります。
グーグルアカウントの取得は下記のサイトにて行ってください。
https://accounts.google.com/SignUp?hl=ja

グーグルのアカウントを取得しましたら、reCAPTCHAの公式サイトへアクセスしてreCAPTCHAを使用するためのSite keyとSecret Keyを取得します。
reCAPTCHAの公式サイトは下記になります。
https://www.google.com/recaptcha/

公式サイトへアクセスすると、下図のようなページが表示されます。
かわいらしい猫の画像に意識が持っていかれそうになりますが、煩悩を振り払って右上の「Get reCAPTCHA」のボタンを押します。
公式トップ

グーグルアカウントにログインしていると、下図のようなフォームが設置されたページが表示されます。
公式入力フォーム

下図を参考にして入力を行い、Registerボタンを押します。
入力例

画面が変わり、Site keyとSecret keyが記載されたページが表示されます。
キー取得

これで、reCAPTCHAの登録は完了となります。

reCAPTCHAを設置するプラグイン「Google Captcha(reCaptcha)」プラグインをインストールする

次に、WordPressへreCAPTCHAを設置するために必要なプラグインのインストールを行います。

まずはじめに、WordPressのプラグインの選択画面で「Google Captcha (reCAPTCHA) by BestWebSoft」を検索して、インストールを実行します。
プラグインインストール

インストールが完了するとボタンが「有効化」ボタンに変わりますので、「有効化」をクリックします。
プラグイン有効化

管理画面のメニューに「Google Captcha」が表示されれば、インストールは完了になります。
インストール完了

reCAPTCHAを投稿記事のコメント欄に表示するように設定する

次に、投稿記事のコメント欄にreCAPTCHAを設定します。

管理画面のメニューの「Google Captcha」をクリックすると下図のようなページが表示されます。
プラグインのトップ画面

【Authentication】の項目にSite KeyとSecret keyを入力する箇所がありますので、そこにreCAPTCHAの公式サイトで取得したSite keyとSecret Keyを入力します。
キー入力

次に、【Enable reCAPTCHA for】の項目では「Comments form」のみチェックを入れます。
設定1

黄色い枠の設定項目は全て飛ばして【Hide reCAPTCHA for】の項目にはチェックを入れずに、【reCAPTCHA Version】の項目は「Version2」にチェックを入れます。
【Theme】はLightとBlackを選べますが、Lightのままで構いません。
設定2

また黄色い枠が続きますが全て飛ばして、【Whitelist Notification】と【Disabled Submit Button】の項目はデフォルトのままにします。
全ての設定が完了したら「Save Changes」を押します。
設定3

設定が完了すると【Authentication】の項目に「Test reCAPTCHA」のボタンが表示されますので、クリックをしてreCAPTCHAの動作確認をします。
設定完了

特にエラーが出なければ設定は正常に完了していますが、念のため投稿記事のコメント欄を確認しましょう。
動作テスト

reCAPTCHAのコメント欄への設置作業は以上となります。
お疲れさまでした!

スパム対策は常に最新の対策を!

いかがでしたか?

日々技術が進歩していくように、スパムの技術も日々進化をしています。
「一度対処したからもう安心!」とはなりませんので、常に新しい技術を取り入れて対策をしていきましょう!

ではまた!

この記事であなたの課題を解決することができましたか?

疑問点があったり、解決できなかったことがありましたら、お気軽にご相談してください。

]]>
https://incloop.com/recaptcha%e3%82%92%e8%a8%98%e4%ba%8b%e3%81%ae%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88%e3%81%ab%e5%b0%8e%e5%85%a5%e3%81%97%e3%81%a6%e3%83%9c%e3%83%83%e3%83%88%e9%81%ae%e6%96%ad/feed/ 0
bbpressに大量スパムが!対策プラグインとスパム投稿の一括削除について https://incloop.com/bbpress%e3%81%ab%e5%a4%a7%e9%87%8f%e3%82%b9%e3%83%91%e3%83%a0/ https://incloop.com/bbpress%e3%81%ab%e5%a4%a7%e9%87%8f%e3%82%b9%e3%83%91%e3%83%a0/#respond Wed, 17 Aug 2016 00:09:39 +0000 https://incloop.com/?p=7403 bbpressに大量スパム!その対処方法とスパム投稿の削除

bbpressを使用して設置した掲示板に大量スパム お盆の連休明けにメールチェックをしたらありえない下図の大量 […]]]>
bbpressに大量スパム!その対処方法とスパム投稿の削除

bbpressを使用して設置した掲示板に大量スパム

お盆の連休明けにメールチェックをしたらありえない下図の大量メールが届いており、おかしい!ということで、調査をしてみたところ、bbPressで設置したフォーラムに1万件以上のスパム投稿がなされておりました。

大量スパム

これはヤバいでしょ。ということで、スパム対策と大量に届いてしまったスパム投稿の削除について書いてみます。

スパム対策にはプラグイン「bbPress Antispam」が便利です。

インストールして、有効化するだけで、ぴたりとスパム投稿が無くなりました。
こちらは、普通にプラグインを追加して有効かするだけですので、詳細は別の機会に譲ります。

さて、問題は1万件以上のスパム投稿の削除です。1件ずつ削除するのは嫌だー。。。ということで、データベースを直接いじることにしました。

スパム投稿の削除① データベースのバックアップ

phpMyAdminなどで、データベースをバックアップしておきましょう。

スパム投稿の削除② wp_postmetaのスパム関連レコードを削除

スパム投稿は、phpMyAdminでデータベースを直接更新して削除しました。

テーブルのレコード数を見ると、「wp_postmeta」と「wp_posts」のレコード数が明らかに多いので、ここにスパムレコードが紛れていることになります。

テーブル一覧

wp_postmetaテーブルの情報だけでは、どのレコードがスパムなのかは判断できません。

wp_postmetaテーブルの内容

wp_postmetaとwp_postsを連結し、post_contentの値がすべて英文ならスパムと判定して、スパム行だけを表示するSQLを実行してみました。
また、7月1日以降にスパムが来ているため、日付を7月1日以降とし、フォーラム関係に絞りたかったので、guid列に”forum”という文字列を含むレコードのみ抽出しております。

実行したSQL文

select *
    FROM wp_postmeta AS postmeta
    INNER JOIN wp_posts AS posts ON postmeta.post_id = posts.ID
    WHERE (posts.post_date > '2016-07-01') and (LENGTH(posts.post_content)=CHARACTER_LENGTH(posts.post_content)) and
(posts.post_content <> '') and
(guid like '%forum%')

実行後の結果

ここに表示されたレコードはすべてスパムとみなして、全部削除していきます。

SQL実行後の結果画面

削除するSQL文は以下を参照ください。

実行したSQL文

先ほどのSQL文の1行目「SELECT *」を「DELETE postmeta」に変えただけです。

DELETE postmeta
    FROM wp_postmeta AS postmeta
    INNER JOIN wp_posts AS posts ON postmeta.post_id = posts.ID
    WHERE (posts.post_date > '2016-07-01') and (LENGTH(posts.post_content)=CHARACTER_LENGTH(posts.post_content)) and
(posts.post_content <> '') and
(guid like '%forum%')

このSQL文を実行することで、wp_postmetaテーブルからスパム関連レコードが削除されました。

スパム投稿の削除③ wp_postsのスパム関連レコードを削除

wp_postsテーブルのスパム関連レコードも削除していきます。
次のSQL文を実行します。

DELETE FROM wp_posts
FROM wp_posts
WHERE  (post_date > '2016-07-01') and (LENGTH(post_content)=CHARACTER_LENGTH(post_content)) and
(post_content <> '') and
(guid like '%forum%')

情報の整理 wp_postmetaテーブルの調整

上記SQLを実行すると、ほとんどのスパム行は消え去ります。
10件だけ残ってしまいましたが・・・(全角文字が本文内に含まれているスパム投稿です)
これら数も少ないので、後ほど手動で削除すればいいですね。

ところで、気になることが。
下図の様に、投稿数が依然として13,643件となっております。

気になる現象

ということで、ここも手動で修正してしまいましょう。

次のSQL文を実行します。WHERE句の条件が13643ではなく13642である理由は、投稿数は最初のトピック投稿1件を含んだ数ですので、返信数は13642であるためです。

SELECT * FROM `wp_postmeta` WHERE meta_value = 13642

クエリの結果は次の画面です。

クエリの結果

各行の鉛筆のアイコンをクリックして、手動で正しい数に直してしまいます。今回は返信数は12件でしたので、13642を12に変更しました。

これで大量スパムを一気に削除することができました。
参考にされる方は自己責任でお願いいたします。また、必ずデータベースのバックアップも取得しておいてください。

この記事であなたの課題を解決することができましたか?

疑問点があったり、解決できなかったことがありましたら、お気軽にご相談してください。

]]>
https://incloop.com/bbpress%e3%81%ab%e5%a4%a7%e9%87%8f%e3%82%b9%e3%83%91%e3%83%a0/feed/ 0