ホームページにお問い合わせを設置していて、明らかにスパムと思われる送信がされていませんか?
こういうスパムが存在すると、大事なお問い合わせがあってもスパムと勘違いして無視してしまったりするかもしれません。
スパムが送られてメリットは何一つないので、スパム対策はしておいた方が良いでしょう。
スパムがどの様に送信されて、どの様に対策をしたら良いかを判明した範囲でご紹介致します。
対策するには、スパムがどの様に送信されているかを判断する必要があります。
そこで、下記の簡単に分かるものをスパム送信から取得してみました。
「ユーザーエージェント」「リファラ」「IPアドレス」「POSTのパラメータ」「送信先URL」
取得した値については下記です。
ユーザーエージェント:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)
リファラ:
IPアドレス:82.202.○○○.○○○
POST:array("name" => email_rassylka, "message" => 'Review of the best mailing services on our page: https://○○○.○○○')
送信先URL:https://○○○.○○○/form/send/
どれも簡単に偽装が出来そうなものばかりです。
IPアドレスも国を調べてみると、モスクワとなっていました。
リファラは空ですね。
もうこの情報だけで対策が行えそうです。
ユーザーエジェントが上記のものと一致したら拒否や、リファラが空だったら拒否等でもう出来てしまいます。
しかし、私がやった対策はまた別になります。今回行った対策は上の内容は全く必要ありません!
では、なぜ記載したかというと、何となくです。
メインは、ここからになります。
まず、ロボットが送信先URLを取得するのに、「スクレイピング」を行います。
お問い合わせページのソースを取得して、あとはformタグを探してactionの中身を取得するだけなので、簡単に出来てしまいます。
最初からactionの中身を記述していると、簡単に抜かれて、送られてしまうという事ですね。
では、どの様に対策をするかという事ですが、JavaScriptで送信する直前にactionに送信先URLを記述してしまえば、良いのです。
var form = documentgetElementById('aaa'); target.action = "http://test.test"; target.submit();
無料相談・お問い合わせ Web制作・システム開発に関する
ご相談はこちらよりご連絡ください。
お客様のビジネスの成長と成功を支えるパートナーとして、
どんなご相談でもお待ちしております。お気軽にお問い合わせください。