0

登録ページに配置するために、サードパーティから提供されたフォームがあります。問題なく動作しますが、スパムを送信するボットの影響を非常に受けやすいようです。キャプチャを追加しようとしていますが、検証が開始される前にフォームが投稿されています。これは asp.net Web フォーム C# 4.0 にあります。

フォームはこんな感じ

<form method="post" name="upsideContactUsForm-1343676638998" action="https://3rdPartySite" id="form173" runat="server">
<input id="field0" value="" type="text" name="email" />
<!--  ..Other fields like first name, last name, etc -->

<input type="submit", value="submit"></input>

<script src="https://3rdPartySiteValidation.js" type="text/javascript"></script>
<script type="text/javascript">
    var field0 = new LiveValidation("field0", { validMessage: "", onlyOnBlur: true });
    field0.add(Validate.Presence, { failureMessage: "This field is required" });
    field0.add(Validate.Email, { failureMessage: "Please enter a valid email address" }); 
    //..Validation rules for the fields
</script>
</form>

送信ボタンを asp:button に置き換え、警告ラベル付きのキャプチャを追加しました。このようなサーバー側をチェックして、ページの起動を防ぐことができるかどうかを確認していますが、うまくいきません。

protected void Submit_Click(object sender, EventArgs e) {
if (Page.IsValid)
{
    CaptchaMsg.Text = "Your response is correct!";
}
else
{
    CaptchaMsg.Text = "Your response is incorrect!";

}

}

キャプチャに何も入力せずに送信ボタンをクリックすると、フォームが投稿され、フォーム アクションで設定されたページにリダイレクトされます。これは、フォームを投稿しているときに起こると予想していたようなものですが、これを回避するためにどの方向に進むべきかわかりません. 最初にリダイレクトされるパススルー ページを追加することもできますが、それでは不十分なようです。キャプチャに ajax で応答することも検討しましたが、javascript が無効になっていると機能しません。

助言がありますか?

4

0 に答える 0