takuro hishikawa Re: 外部フォーム:同一ドメインのメールアドレスから送付されるスパムメールを防ぎたい(CAPTCHAは設定済) 2018年3月1日 at 12:07 ツイートする qq.comは悩みのタネですな… 返信 kanetei Re: 外部フォーム:同一ドメインのメールアドレスから送付されるスパムメールを防ぎたい(CAPTCHAは設定済) 2018年3月2日 at 14:21 すいません……。フォームの動作チェックをしていた所、 そもそもCAPTCHAのチェックが出来ていないことが判明しました。 (空欄でなければフォームが送付出来ていました) 標準のフォームを参考にして、 $captcha = Loader::helper('validation/captcha'); <div class="form-group captcha"> <?php $captchaLabel = $captcha->label(); if (!empty($captchaLabel)) { ?> <label class="control-label"><?php echo $captchaLabel; ?></label> <?php } ?> <div><?php $captcha->display(); ?></div> <div><?php $captcha->showInput(); ?></div> </div> View側では上記コードでCAPTCHAを表示し、 $captcha = Core::make('helper/validation/captcha'); if (!$captcha->check()) { $isvalid = false; $error['captcha'] = t("Incorrect captcha code"); $input['ccmCaptchaCode'] = ''; } Controller側にチェックするコードを追加したのですが、これでは不完全だったようです……。 フォームのcontrollerを見ても、他にcaptchaをチェックしている箇所が見当たらないのですが、 どこかに必要な処理があるのでしょうか? 返信 takuro hishikawa Re: 外部フォーム:同一ドメインのメールアドレスから送付されるスパムメールを防ぎたい(CAPTCHAは設定済) 2018年3月2日 at 17:12 バリデーションの失敗した時に例外を投げて外側でキャッチするという実装じゃなく、falseを代入してるだけなので、そのあとでtrueに上書きされてるとかは、あり得そうですが。 返信 返信 Your post has been saved and will be published after approval by the forum moderator. - Enter a Subject - Enter a Message ※ 10分以上、ポップアップを開いたままだと、セッションが切れて投稿できない場合があります。その場合はメッセージをどこかにコピーし、ページ&投稿画面をリロードし投稿し直してください。 件名 メッセージ 画像中の文字と数字を入力してください。 Captchaをクリックすると違う文字候補が出てきます。
kanetei
Re: 外部フォーム:同一ドメインのメールアドレスから送付されるスパムメールを防ぎたい(CAPTCHAは設定済)
そもそもCAPTCHAのチェックが出来ていないことが判明しました。
(空欄でなければフォームが送付出来ていました)
標準のフォームを参考にして、
View側では上記コードでCAPTCHAを表示し、
Controller側にチェックするコードを追加したのですが、これでは不完全だったようです……。
フォームのcontrollerを見ても、他にcaptchaをチェックしている箇所が見当たらないのですが、
どこかに必要な処理があるのでしょうか?