スパムメールについて詳しい方アドバイス頂けないでしょうか?
現在サイトの申し込みフォームから大量のスパムメールが届くようになってしまったのですが、原因が分からずお助け願います。
まず、フォーム自体には大量に必須項目があり、また名前などの項目には、pattern="[^\x20-\x7E]*"の指定があり、半角英数のみなどは弾かれる設定です。
もちろん、それ以外にもjQuery:「validationEngine」の入力チェックでclass="validate[required]"必須の判定などを行っているのですが、これらの項目に半角英字のみがセットされていたり、必須の為空禁止なのに、空のままの状態で送信されてきます。
これらはどういった事が原因になっているのでしょうか?
javascriptなどの判定ではだめという事なのでしょうか?
フォームの流れとしては、index.htmlで申し込み、チェック通れば thanks.php に遷移してこちらでメールの送信などを行っております。
もちろん直接thanks.phpへはアクセスできないです。
こういった状況で、必須や空でメール送信が行われてしまうのは、どのような原因が考えられますでしょうか?
宜しくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
JavaScriptのチェックは何も意味を成さないです。
正規のユーザーに謝りを教えるだけで、スクリプトは直接postします。
基本的にはサーバー側(php)で同じバリデーションチェックを入れる必要があります。
国内向けサイトならサーバーで海外IPアドレスを弾くだけでほぼなくなるのではと思います。
有難うございます!!
>>JavaScriptのチェックは何も意味を成さないです。
>>正規のユーザーに謝りを教えるだけで、スクリプトは直接postします。
やはりそうですか、なんとなくそんな可能性もあるかもとは考えておりました。
>>基本的にはサーバー側(php)で同じバリデーションチェックを入れる必要があります。
なるほどです、そうしますとindex.htmlで簡易的なjsでのチェックを行い、新たに追加予定のcheck.phpでpostで受け取った値をPHPでチェックしようかと思いますが、この流れでよいでしょうか?
>>国内向けサイトならサーバーで海外IPアドレスを弾くだけでほぼなくなるのではと思います。
おっしゃる通り国外からのスパムとなっているので、IP判定も検討してみたいと思います。
貴重な情報を有難うございます!mm
No.2
- 回答日時:
>>それ以外は、PHPでのメール送信処理などが記載されています。
と言う事は、thanks.phpはphp言語を使って記述され、cgiでサーバ内で動作するプログラムなんですね。
index.htmlからthanks.phpがpostされるのですね。
で有れば、以下の2個を追加したら如何ですか。
先ずは1、それで駄目なら2も追加、と言う順序です。
1.確認画面を設置する
相手側が送信する前に確認画面を設置して送信までにワンステップ入れる。一段階いれることでことで自動送信ができなくなります。
2.reCAPTCHAを設置する
Googleが提供している「reCAPTCHA」を設置する。
メールフォームの最後に「私はロボットではありません」というメッセージにチェックボックスをつける?
見た事有ると思います。
これでワンステップ入れます。
有難うございます。
大変参考になります、もう1クッションcheck.phpをかませてみます。
合わせてreCAPTCHAについても導入をしたいと思います。
まずはこの内容で修正を進めてみたいと思います!
No.1
- 回答日時:
thanks.phpはサーバ内のみで動作するプログラムですか?
それともブラウザで表示可能なファイルですか?
遷移と言ってるので多分後者でしょう。
ネットサーフプログラムによってthanks.phpの中からメアドが盗られてると思います。
有難うございます。
>>thanks.phpはサーバ内のみで動作するプログラムですか?
>>それともブラウザで表示可能なファイルですか?
変な回答でしたら申し訳ありません。
thanks.phpは「申し込み有難うございました」のメッセージが完了画面として表示されます。
それ以外は、PHPでのメール送信処理などが記載されています。
メールアドレスがとられるというのは管理者用の確認メールアドレスでしょうか?
PHPで定数定義しているので取られることは無いように思うのですが。
それよりも、大量に色々なアドレスから申し込みが届いて困っています。
また、質問に記載した通り、必須項目や空チェックなど、複数のバリデーションかけているのですが、無視して送信されます。
こういった場合は、何が原因で送信されるのでしょうか?
もうフォームは関係なしに、直接POSTたたいているのでしょうか?
そうなった場合への対処法もお伺いできればと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- その他(メールソフト・メールサービス) Windows10付属のメール、なぜ設定が劇的に簡単になったのか? 1 2022/12/16 13:14
- その他(メールソフト・メールサービス) 大阪市プレミアム付き商品券のweb申し込みで楽天モバイルのEメールだと返信メールが届かない 2 2022/09/19 17:08
- 求人情報・採用情報 今日、ホテルのアルバイトに、タウンワークから応募しました。 すると、会社からGメールが届き、事前登録 1 2022/03/31 23:40
- その他(パソコン・スマホ・電化製品) ウィルスバスターモバイルについて。 iphone12 miniで、ウィルスバスターモバイルを使ってい 2 2022/07/10 12:59
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Gmail SPFレコードとDNSサーバーについて、gmailを設定できるかどうか 2 2023/06/10 23:55
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「戻る」ボタン使用時のフォー...
-
VB.NET2003 テキストボックスに...
-
フォルダを自動で開く
-
Visual Basic 6.0 のテキストボ...
-
JSPの処理の途中で、JavaScript...
-
if(1){...}とはどういうことで...
-
innerHTMLなどの反映タイミング
-
VBAによる第3、4水準文字の判定...
-
ページ読み込み時に、強制的に...
-
ajax 通信 iisの設定?
-
javascriptでのmdb接続について
-
コメント削除/圧縮/難読化
-
ASP(VBS) ←→ JavaScript の変数...
-
PowerPointで時計表示
-
JavaScriptで ブラウザの閉じる...
-
resizeToメソッドが動作しません
-
リアルタイム表示ホームページ...
-
【JavaScript】ソースのコメン...
-
ロールオーバーを外部にすると...
-
ページを一回だけリロードさせ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHP処理実行後のページの遷移に...
-
連動プルダウンについてです。
-
指定した日時にリロード処理を...
-
submitした後にiframeのページ...
-
javascript・JSP関連
-
親フォームとサブフォームでの...
-
「戻る」ボタン使用時のフォー...
-
javascriptでCGIに値を渡したい...
-
JSPの処理の途中で、JavaScript...
-
if(1){...}とはどういうことで...
-
javascriptからサーバサイドの...
-
以下のコードを実行しても、オ...
-
正整数の半角数字かどうか判定する
-
JavaScriptで ブラウザの閉じる...
-
デザイン時のVisible=Falseは実...
-
「終了していない文字列型の定...
-
VB.NET2003 テキストボックスに...
-
PowerPointで時計表示
-
VBAによる第3、4水準文字の判定...
-
フォルダを自動で開く
おすすめ情報