验证码的替代方法

更新时间:2024-05-09 下载TXT文档 下载Word文档

我在这里寻找灵感。 我需要对我的网站进行某种形式的人工验证,但是如今,最常见的方法(要求用户将他们在图像中看到的字母和数字输入到文本输入框中)似乎有点垃圾-有时我觉得很难 找出字母和数字是什么。

肯定有更好的办法!

我有一些想法,最好的想法似乎是向用户显示一系列图像(4-6),并要求他们根据图像的内容回答问题,例如:

(显示一些几何形状)"哪个图像有3个面?"

要么

(显示动物图片)"哪只动物会飞?"

这样做的优点是易于编程,并希望易于通过。

谁能想到其他解决此问题的方法吗? 还是可能发现上述系统中的缺陷? 是否有可能使此类系统既易于人类通过,又使机器人难以通过?

尽管它有点旧,但我确实发现KittenAuth是一种有趣的(可能非常有效的)验证码方法。不过,他们的联系页面上似乎只有一个演示。

基于纯图像的方法(与文本图像相反)的问题在于,您基本上是在防止盲用户使用您的网站。 KittenAuth作者在其网站上的评论之一中承认了这一点。

作为KittenAuth的有趣小骑手,此页面包含"有史以来最糟糕的10个验证码",其中包括我的最爱之一:

calculus captcha

  • 只拥有受过良好教育的成员的巧妙方法:)
  • 受过良好教育的成员,或者只是可以使用Wolfram alpha的某个人(或其他东西!):wolframalpha.com/input/?i=Dt[4+sin+(7x+-+pi/2),+x]++/.+x+ -%3 E + 0

尝试使用通过单击普通按钮(而不是提交按钮)触发的基于ajax的提交过程,使用jQuery确实很容易。 {短码网-DuanMa.NET}

据我所知,垃圾邮件浏览器没有javascript。

如果您担心未启用javascript的用户,我认为让他们无法提交表单是完全可以的。如果他们不信任您在您的网站上启用javascript,则他们不能充分使用该网站不是您的错。

编辑:

另请参阅:实用的非基于图像的CAPTCHA方法?

但问题是,如果有人故意将您的网站定位到您,则这种技术将无法正常工作。

编辑2:

我无法提供到真实示例的链接,但是我在博客中提供了更多详细信息,因此这里是一些示例代码:

function submit_form()
{
    jQuery.ajax({
     "type":"POST", // or GET
     "url": 'action_url', // The url you wish to send the data to, the url you'd put in the"action" attribute on the form tag
     "data": jQuery("form#the-form").serialize(), // The data you'll send. You need to get the form somehow. Easiest way is to give it an id.
     "dataType":"json", // Only put this if the server sends the response in json format
     "success": function(data, textStatus) // server responded with http status 200
        {
            // This is the happy case: server response has arrived
        },
     "error": function(req, textStatus, errorThrown) // maybe HTTP 404 or HTTP 500
        {
            // something went wrong, the response didn't go through or the response didn't come. Handle the situation: let the user know, or something.
        },
     "complete": function(req, textStatus) // This one always gets called anyway
        {
            // cleanup after yourself
        }   // XXX careful: if you put a comma here, IE6 will fail
      });
}
  • 目前可能是正确的,但我认为Spambot实际上可以使用Java尚需很长时间。有几个库使脚本很容易解析和执行Javascript。
  • 请注意,我说过不使用标准的提交按钮,而是使用带有onclick方法的普通按钮。如果垃圾邮件对象确实使用javascript,则必须找出要单击的按钮,并假设其为按钮,而不是带有onclick事件的锚标记。
  • 即使这样,似乎这条路线也只是在延迟不可避免的事情?
  • 我们一直都是..但IMO这比用验证码惹恼用户更好。
  • Hasen,您能否提供使用普通按钮的示例的链接。谢谢。
  • 使用普通按钮的问题是回车键不会提交表单,这在很多情况下可能使用户烦恼。

我特别喜欢"哪只动物会飞"的例子。简单有效。

但是这种事情可能会被滥用。赋予它一种文化上的偏见或被感知的偏见并不难。

而且,正如奥斯汀·切尼(Austin Cheney)所展示的那样,它很容易成为一种智力测验,并且您将遇到可访问性问题。

  • (我想指出的是,我的回答是在SquareCogs评论之前提出的。我指的是奥斯汀提到的简单认知反应是一种智力测验,其他都没有。)

尝试使用一个简单的问题需要简单的认知反应的问题挑战系统。例如,要求用户回答以下示例问题:

大街上的三辆车可以再看到三辆车。总共有几辆车?

技术不是很先进,以至于带宽敏感机器人能够回答这样的问题,但是这个问题很容易回答。用户必须输入3或3以确认他们是人,而不是机器。您将不得不拥有足够多的问题,机器人无法简单地ping您的站点以查看要记录的问题,以便它可以随手返回答案。

  • 您只是自己的验证码失败了。如果每辆车都能看到另外三辆车,则总共有四辆车。
  • 不,显然,这三辆汽车共同构成了博格式的集体,因此被"视为"。您会知道,如果您是我们中的一员。

以上就是短码网小编为大家整理的《验证码的替代方法》相关内容,希望大家喜欢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若内容造成侵权/违法违规/事实不符,请将联系本站反馈,一经查实,立即处理!

验证码的替代方法》文档下载仅供参考学习,下载后请在24小时内删除。

转载注明出处:https://www.duanma.net/article/46b99812456.html

回到顶部