【问题标题】:Honeypot Captcha classic asp code?蜜罐验证码经典asp代码?
【发布时间】:2011-09-09 13:04:29
【问题描述】:

早上好,我正在尝试实施验证码,但失败了,主要是因为我没有 asp 经验,有人可以帮忙吗?

多个 html 页面在页脚中有一个联系表单,它具有表单验证并触发一个发送电子邮件并重定向到thanku.asp 的 asp 页面。

我想添加蜜罐验证码,所以添加了另一个字段 [body] 并使用 css 将其隐藏。然后我在下面添加了代码来检查它的空值。当我点击提交时,即使隐藏字段里面有内容,表单也会被处理,任何人都可以发现我哪里出错了吗?

<div id="captchafield">
<input type="text" name="body" value="" />
</div>

<script language=javascript>

if(!String.IsNullOrEmpty(Request.Form["body"]))
  IgnoreComment();

  </script>

【问题讨论】:

  • 您似乎混淆了 ASP、ASP.Net、Javascript 和 C#。

标签: asp-classic captcha


【解决方案1】:

只使用 JavaScript 检查字段会出错;您应该检查它是否为空白服务器端,如果不是,则忽略/拒绝提交。例如。

HTML

<div id="captchafield">
    <noscript>Security field; please leave this blank</noscript>
    <input type="text" name="captcha" value="" />
</div>

平均售价

Dim captcha

captcha = Request.Form("captcha")

If captcha <> "" Then
    Response.Redirect("badcontent.asp")
End If

' continue 

您可以使用 JavaScript 隐藏验证码字段和/或显示一条消息,让用户知道如果他们的 JavaScript 已关闭,则不要填写它(请参阅上面示例代码中的 &lt;noscript&gt;)。机器人/脚本将忽略警告并填写字段并触发您的陷阱。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-29
    • 1970-01-01
    相关资源
    最近更新 更多