Laravel:お問合せからの迷惑投稿を撃退した話
Laravel:お問合せからの迷惑投稿を撃退した話
迷惑行為があったのは【お問合せ】の部分。
まぁね、ご想像の通りです。
reCAPTCHAも仕掛けてみたんだけど状況は全く変わらず。
で、だったら営業妨害になる問合せについては『ドメインチェックして書込み防止してやろう』となりました。
やった事
- blackdomainsテーブル新設
- 問合せレコード削除時にblackdomainsにレコード追加する
- 削除時にマーカーを用意し、ドメイン/アドレスのどちらをブラックリストに登録するか指示
- 問合せからの書き込み時、blackdomainsをチェックし存在したら書き込んだそぶりを見せたページへ遷移
- blackdomainsに存在しなかったら従来通りDB格納/代表メールへリマインド送信
こんな感じで、迷惑メッセージの削除とブラックリスト入りを連動させてみました。
書込みしない処理(項目4-5)の簡易コード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#最初にマーカーを用意 $mark = 0; #ブラックドメインの情報を全件取得 $blacks = Blackdomain::all(); #1件づつ取り出してチェック foreach($blacks as $black){ if(strpos($request->email,$black->text) !== false){ #BlackDomainが含まれている場合、マーカー変更 $mark = 1; } } if($mark == 0){ #マーカーが初期値のままの場合 #DB蓄積 $message = new Message; $message ->subject = $request->subject; $message ->content = $request->content; $message ->name = $request->name; $message ->email = $request->email; $message ->save(); #内部メール送信 SendMailer::ContactToInfo($to2,$fromname2,$name,$subject2,$title,$content,$returnadd,$contactURL); #記入者にメール送信 GuestContactMailJob::dispatch($to,$fromname,$name,$subject,$title,$content); #画面遷移&succsessで通常メッセージ return redirect('Massages')->with('request')->with('success','お問合せありがとう御座います。内容について確認の上、ご返信させていただきます。'); }else{ #マーカーが初期値から変更されている場合 #画面遷移&successでありがとうメッセージ return redirect('Massages')->with('request')->with('success','お問合せありがとう御座いました。'); } |
迷惑メッセージの登録者は同じ様子
閲覧者数が増えるとまた変わってくるのだと思いますが、現段階では同じドメインで書き込んでくる方が多くいました。なので、BOTだと思いreCAPTCHAを設置したのですが、まだ書き込んでくるんですよね。
今回、ドメイン自体を禁止にさせて頂いたので、システム内部の閲覧側は荒れる事はないだろうと。
暫くこれで様子見です。
まとめ
いたちごっこですから、最良になる事はなかなか難しいともいます。
でも少しでもそこに近づけたらいいなぁと思っています。
で、コード書くのはやっぱり慣れたLaravelが一番早いなぁと痛感した次第です。
ホントさ、迷惑行為してる人、辞めてくださいね。
-
前の記事
Amazonの売価変動を見る『Keepa』の見方と平均価格の落とし穴 2020.11.13
-
次の記事
JavaScript:画面サイズが変わってもレコードを1行に収める方法 2020.11.17
コメントを残す