recaptcha を適切に表示し、前にキャプチャを配置したいフォームを送信することができましたが、recaptcha フォームに何を入力しても検証されます。
ここに私のwtformsクラスがあります:
class MessageForm(Form):
reason_code = SelectField(u'Reason', [validators.Required(message=(u'A reason for contacting us must be selected.'))], default = -1, choices=[('', ''), ('0', 'Advertising'), ('1', 'Comments/Suggestions'), ('2', 'Support')])
reply_to = TextField(u'Email address', [validators.Required(message=(u'A reply to email address is required.')), validators.Email(message=(u'A valid reply to email address is required.'))])
message_body = TextAreaField(u'Message', [validators.Required(u'You must enter a message to submit this form.')])
captcha = RecaptchaField(u'Captcha', [validators.Required(u'You must properly fill in the Captcha to submit this form.')], public_key=esp_constants.DEV_RECAPTCHA_PUBLIC_KEY, private_key=esp_constants.DEV_RECAPTCHA_PRIVATE_KEY, secure=True)
私はApp Engineを使用しており、このフォームのハンドラーにはこれがあります
def post(self):
message_form = MessageForm(self.request.POST, captcha={'ip_address': str(self.request.remote_addr)})
私が見逃しているものがあるかどうか他の誰かが知っていますか?フォームが投稿されると、RecaptchaField にはすべての正しいデータ (つまり、challenge_field など) があるようです。
提案をありがとう。