私の考えすぎかもしれませんが、お尋ねいたします。
簡潔に
php
1$mail=$_POST["mail"]; 2if(mb_substr_count ($mail,"@")!=1) 3{ 4die("メールアドレスが不正です"); 5} 6mb_send_mail($mail,"タイトル","本文"); 7print("送信しました。");
というような、mb_send_mail関数によるメール送信機能を持ったページを作る時、有効なメールアドレスであっても、悪意あるユーザーに連投されてメールサーバーに負荷をかけられるのは避けたいのです。
考えた案としては、
・前ページで、ワンタイムパスワードを発行しhiddenでページに埋め込むと共にセッションでもそのパスワードを保管し、前ページからパスワードをPOSTでアドレスと共に送信させ、メール送信前にPOSTで受け取ったパスワードとセッションのパスワードを比較する。
・セッションに、1回目に来た日時を記録し、2回目に来た時の日時と1回目の日時を比較、この差が短すぎたら連投と見做す。
を挙げますが、セッションが紐づくブラウザ側のクッキーは、幾らでも消すことができるため、前ページでセッションIDを再発行できてしまいます。(それでも十分な時間稼ぎになるかも知れませんが。)
どのような連投規制が効果的でしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/17 12:26