2022.08.17この記事は約8分で読めます。スポンサーリンクこんにちは、まっさん(@Tera_Msaki)です。この記事はSIベンダーで28年あまりシステムエンジニアとして、いろいろなシステムのインフラを構築してきた経験をもとにセキュリティについてまとめたものです。Webサイトを立ち上げて、1年あまり経ちました。不正アクセスなど、日々何かしらの脅威に晒されている状況です。今回は、Webサイトを運用する中で身近な脅威となる問い合わせフォームを踏み台とした迷惑メールの対策(スパム対策)について、お話したいと思います。・Webサイトのスパム対策について知りたい人この記事を読めば、Webサイトのスパム対策がわかります。Webサイトを管理するうえで、必ずといいほど使うGoogleのアナリティクス。問い合わせフォームの設定reCAPTCHAの適用後の問い合わせフォーム問い合わせフォームに対する脅威Webサイトの窓口となるのが、問い合わせフォームです。その仕組みは、問い合わせフォームに入力した内容をWebサイトの管理者と入力したメールアドレスにメールを送るといったもの。大量の迷惑メールを送ることが可能になります。迷惑メールの加害者となることこそが脅威となります。問い合わせフォーム以外でコメントも同様に狙われます。この場合、メールの送信先はWebサイトの管理者だけですが、コメントを未承認で表示するようにしている場合は、コメント欄を踏み台としたサイト誘導の手段として利用されます。スパム対策スパム対策として、人間かBotを判別する仕組みをもつGoogle社のreCAPTCHAを利用することが有効な対策のひとつです。判断するために、チェックボックスの有効化をユーザに要求します。判断するのために、ユーザがWebサイトに訪れてからの行動で判断します。問い合わせでの利用を考えた場合、v2のほうが良いと考えています。誤判定に対して、考慮されてます。v2を使用しています。Console)でreCAPTCHAを使用するためのサイトキーとシークレットキーを発行する必要があります。管理コンソールにログインすると、画面右上に「+」が表示されていますので、これをクリックするとreCAPTCHAを使用するサイト登録の画面が表示されます。ラベル、reCAPTCHAタイプ、ドメインを入力して保存します。オーナーのメールアドレスを消していますreCAPTCHAのキーをクリックすると、サイトキーとシークレットキーが確認できます。サイトキーとシークレットキーを消しています。Form7のインテグレーションでreCAPTCHAを設定できます。別のプラグインや使用していない場合でも、reCAPTCHAを使用することが可能ですが、クライアント(JavaScript)とサーバ(PHP)の両方にコーディングが必要になります。設定する方法を紹介します。v3を使用する場合は、インテグレーションのセットアップで、サイトキーとシークレットキーを設定するだけで使用できるようになります。このサイトも当初はv3を使用しようといましたが、JavaScriptのエラーで問い合わせフォームが送信できない現象が発生しました。Adsense広告の遅延読み込みが影響しているものと判断しています。デベロッパーツールでエラーを確認。送信をクリックします。Form7のインテグレーション(reCAPTCHA)は、v2のサイトキーとシークレットキーを設定します。フォームで、チェックボックスの有効化を表示する場所に[rechapcha]を設定します。reCAPTCHAの適用後の問い合わせフォームv3では全ページにreCAPTCHAのロゴが表示されるようになりますが、v2ではreCAPTCHAを適用した問い合わせフォームだけの表示となります。問い合わせフォームにチェックする欄を設けたり、メッセージ本文にひらがなが含まれているかチェックする方法などもありますが、フォーム送信だけで実現できる対策はあまり効果がのぞめません。利用することで、格段に効果があがりますので、reCAPTCHAの利用をおススメします。Life関連記事セキュリティ・サーバWebサイトのセキュリティ対策についてWebサイトを立ち上げて、3か月あまり経ちました。インターネットに直接接続しているWebサイトは、PCと違って使わないときは電源を落とすということができないので、定期的にサイトの安全性を確認が必要。Webサイトの定期点検についてお話します。コメントをキャンセルメールアドレスが公開されることはありません。名前(ハンドルネーム)上に表示された文字を入力してください。DIYで凹んだフェンダーを直すスポンサーリンクmsaki某ITベンダーを早期退職。