【Laravel】管理サイトでスパムが煩くなってきたから対策を考える

【Laravel】管理サイトでスパムが煩くなってきたから対策を考える

【Laravel】管理サイトでスパムが煩くなってきたから対策を考える

スパムメッセージ面倒臭い!
企業サイトなら当たり前のように設置する『お問合せ』というメッセージBOXですが、スパムメッセージが無差別攻撃してきます。

酷い時は1日10件。
多少の対策をしているのでこれでも『マシな方』だと思いますけど「ちょっと本格的に作業しないとな」と。

候補は2つ

  1. reCAPTCHA
  2. honeypot

どちらも設置設定が楽です。
参考資料も沢山あるので作業ははかどりそうです。

現在の王道対策。Google提供の『reCAPTCHA』

reCAPTCHA は見た事が無いって人いないと思うくらいメジャーですよね。

「トラックの画像を選択してください」とか言うのもこのreCAPTCHA です。
多くのサイトで導入されているので、ユーザが慣れているというのも利点。

しかし、多く設置され過ぎているので「突破してくるBOT」も存在します。

Laravelで使える簡単対策。『honeypot』

どうしようか調べている時に見つけた方法です。
人は絶対に記載しない(CSSで隠されている)入力フォームをわざと作るのだそうです。
そして、そこに入力されていたら(コード解析して記載したことがバレバレなので)BOTと判断して弾くと。
laravel-honeypot というパッケージも用意されていますが、この仕組み自体は独自でも作れそうです。

課題はGoogleさんの仕組みの様に「みんなで共有している情報が無い」事でしょうか。

仕組み自体は競合しないので2つとも組み込むことが可能

honeypotはその考え方だけ導入しても「それなりの対策」になり得ます。
その為、reCAPTCHAと共存/併用も可能です。

面白いですよね。

まとめ

実装どうしようかな。
折角面白い方法見つけたから併用で作ってみようかな。
これで問合せフォームが荒れなければ万々歳!