とあるページに設置されたメールフォームに、毎日のようにスパムメールが送信されてきます。
フォームの構成は仮に下記とします。
・メールアドレス入力欄(入力必須)
・メッセージ入力欄
・プライバシーポリシー同意チェックボックス(入力必須)
スパムメールをなくすための方法として、下記のうち最も効果があると思われるのはどれでしょうか。
今回はHTML、JavaScriptで対応できる方法のみとします。
- formタグをHTMLに記述しない
チェックボックスにチェックを入れるとformタグが付与されるようにする
- 送信ボタン(submitタグ)をHTMLに記述しない
チェックボックスにチェックを入れると送信ボタンのHTMLが付与されるようにする
- 送信ボタン(submitタグ)をデフォルトでdisabledにする
チェックボックスにチェックを入れると送信ボタンのdisabledが解除されるようにする
スパムロボットはJavaScriptを読んでいないと仮定すると、1、2に関してはチェックを入れなくてもJavaScriptでHTMLを付与すれば効果は変わらないような気がしますがどうでしょうか。
これら以外にも効果的な方法があればぜひ伺いたいです。
画像認証など、ユーザーの手間を増やす方法は除外します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答5件
0
googleのrecaptchaが手軽で良いのではないでしょうか?
押すだけなので離脱も避けられます。
投稿2017/09/07 02:28
総合スコア146
0
今回はHTML、JavaScriptで対応できる方法のみとします。
状況にもよりますが、サーバサイドを変えない条件では気休めにしかならない可能性もそれなりにあります。
たとえば、CSRFトークンもないようなフォームだと、特定のURLにPOSTするだけでメール配信できる、ということになります。HTMLやJavaScriptで工夫しても「POSTするURLをわかりにくくする」以上の効果はないので、それがわかってしまえば一巻の終わりです。
投稿2017/09/07 04:33
総合スコア146571
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
ベストアンサー
敵(スパムロボット)の正体が分かっていないので回答としては「やってみないと分からない」と思います
ご質問にあった「JavaScriptを読んでいないと仮定する」というのがそもそも間違っている場合はjavascriptを使った対策をしても意味を成しません。ヘッドレスブラウザーを使ってプログラミングすればJavascriptを処理してスパムメールを送ることは可能ですから。
つまり、ご質問の対策をやってみて、スパムがなくなるようであれば
敵(スパムロボット)はJavascriptを処理できないロボットなので効果があるということになります。
投稿2017/09/07 03:09
総合スコア146
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
メールフォームに、毎日のようにスパムメールが送信されてきます
フォームから送られてきているとは限らないのでは?
もしformのactionにmailtoを入れているのであれば
メールアドレスをネットに晒しているわけですから
スパムは避けられないでしょう
考え方を変えれば、gmailなどスパムをフィルタリングしてくれる
メールサービスを通して受け取るとかが妥当じゃないでしょうか
投稿2017/09/07 02:30
総合スコア117702
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
スパムが顧客に迷惑を書けるものでなければ、単純にスパムとして扱えるシステムを利用するのが良い気がします。(スパムフィルタを通す等)
投稿を制限するのであれば、投稿を観察する必要があります。
・ロボットによるものである
・人が手作業でコピペ
・大量に届いて業務に支障がある
・少量だがウィルス等が添付されていて危ない
等々。
効いてくる対応策も全然別物になるので、まずはそこの整理かと思います。
あまり状況に関係なく効果的なのは
・ページを生成してから X 秒経たないと投稿を受け付けない
・特定の IP アドレスからの1日あたりの投稿数を制限
・特定文字列をフィルタ
・投稿ボタンや投稿確認ボタンをランダムに記載
あたりだと思いますが、ユーザに迷惑をかける可能性も有るので、慎重に選択する必要があります。
スパムってホントに面倒くさいですよね^^;
投稿2017/09/07 02:47

退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

退会済みユーザー
2017/09/07 03:11

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/07 02:37
2017/09/07 09:50 編集
2017/09/07 10:09