一个英文验证码对其他国家的人会有影响吗?

18

如果我有一个验证码,其中显示了一系列英文字符。那么不会说英语的人是否会在解释和/或输入这些字符时遇到麻烦?如果是这种情况,那么国际化验证码的最佳解决方案是什么?


对于西方国家来说,这应该不是问题,因为他们也使用拉丁字母。不确定一些亚洲国家的人能否读懂拉丁字母。打字应该不是问题,但由于不太习惯这些字符,识别率可能会降低一些。 - CodesInChaos
2
在中国,人们默认使用QWERTY键盘写拼音。但是,为什么需要验证码呢? - Jacco
使用仅包含数字的验证码挑战。 - SCC
8个回答

10

由于99%的URL都是普通ASCII字符,我认为你不会遇到问题...毕竟如果不能输入URL,他们怎么会访问Google或Yahoo呢。

话虽如此,我有时也会在验证码中遇到使用中文字符的情况。


我不太明白URL与此有什么关系。能够输入单词是一回事,能够理解它又是另一回事。顺便问一下,你可以告诉我你的统计数据来源吗?还是只是一个粗略的猜测? - Paweł Dyda
1
@Pawel 在验证码中理解单词并不是非常重要的。它只是一种纠错机制,可以提高识别率。 - CodesInChaos
2
@CodeInChaos:理解单词是能够识别字符的区别(即它是o还是a)。不要告诉我这不是问题,我也遇到过太多次这样的问题。 - Paweł Dyda

6

基于图像的验证码相比基于文本的验证码有两个主要优点:

  1. 国际化
  2. 更难以通过算法解决(参见PWNtcha - captcha decoder

有几种不同的类型,例如:

  1. 分类:见Captcha The DogKittenAuthMicrosoft Asirra
  2. 3D投影:见3D images: A human way to create Captchas3D-based Captchas become reality
  3. 检测:见Confident Technologies的基于图像的CAPTCHAPic-Capture
  4. 旋转:见一种动态、用户友好的带图片验证码
  5. 拼图:见Key Captcha

3

对于使用本地非拉丁字母键盘布局的用户来说,比如俄罗斯和希腊人,这将是一个问题。他们将被迫切换键盘布局才能回答安全问题。

另一个问题是识别单词的能力 - 不会讲英语的人可能会在正确拼写单词方面遇到巨大的问题。即使对我来说(对于不太常见的单词),有时也会出现疏漏,尽管我相当熟练......

换句话说,不要犯这个错误,你的应用程序应该易于所有用户使用。


3
他们是否也需要更改页面布局来访问我的网站,因为域名是英文的?但这并不是一个解决方案。 - rook
1
@Rook:你在地址栏上输入域名的频率有多高?除非你的网站非常受欢迎,否则用户通常会搜索一些内容,然后点击链接。如果他们喜欢你的网站,很可能会将其加入书签。同样,不要切换布局。 至于解决方案,有一些可能性:1.避免使用验证码。2.使用本地化验证码。3.使用一些数学方程作为验证码,并强制用户输入数字(不确定是否有帮助)。4.使用几个图像(具有定义的alt标记)和可翻译的句子,其中一个图像的定义 - 用户将单击正确的图像。 - Paweł Dyda
@Rook:对于最后一个,应该有所不同。除非有人点击“视觉受损”,否则不需要alt标签。但在这种情况下,应该使用声音而不是书面定义,例如(文本)哪个物品可能会发出这种声音,(声音)嗡嗡声,(图像文字无用)铃铛,吉他,...,蜂鸣器 :) - Paweł Dyda

1

这绝对是一个问题。基于字典的验证码应该理想地适应用户的语言偏好,并要求他们识别与其语言偏好相匹配的单词,从而扩展到他们最熟悉的字符集。

但在缺乏这样的国际化支持的情况下,我认为数字和数学表达式是最普遍的解决方案,对于基于单词的验证码,随机的ASCII字符序列(由于是随机的,因此是文化中立的)将是最易于访问的,因为几乎世界上任何用户都可以输入这些字符,即使有些人必须切换输入法。

现在真正棘手的是为视力受损的用户提供可访问性替代方案。制作一个通用的音频验证码似乎几乎不可能(您可以考虑一组被广泛认可的声音,而不是口头单词,但我怀疑这将提供足够的安全性)。而国际化(多语言)口语生成远非易事。


1
不会,因为英文验证码是ASCII码格式的,即使用户使用日本、中文或俄文键盘也始终可用。所以这不应该成为问题!而基于图像的验证码只需要用户阅读字母即可,而网上任何人都有可能做到这一点,就像SQLMenace指出的那样。
相反的情况却是个问题。
Google的reCaptcha有一个小图标,用户可以在某些情况下无法读取验证码或包含外文字符时获取不同的验证码。
我建议您使用Google的reCaptcha,而不是自己实现它。
附加好处:
顺便说一下,Google的reCaptcha也适用于其他语言,{{link1:http://www.google.com/recaptcha/faq}},这使得您能够将验证码国际化为用户的默认语言。

编辑:

有一个解决方案可以让Google的reCaptcha与Flash一起使用!

请查看这里: http://groups.google.com/group/recaptcha/browse_thread/thread/e22d7e3c91bcc9db


+1 当然我很想使用reCaptcha,但它不能在Flash上使用。所以我必须自己开发,没有解决方案,也没有奖励,抱歉。 - rook

0

是的,这可能会对小部分用户造成问题。但在构建网站UI以改善用户体验时,是否应该考虑到这个问题?这取决于你。如果是我,可能不会。

为了帮助你朝着正确的方向前进,我建议使用Google的reCAPTCHA。它有很好的效果并且易于使用。此外,还有一个很棒的API,可以自定义显示语言。你可以使用PHP来检测用户所在的国家,并编写一些代码来更改设置以显示他们的母语。

以下是更改reCAPTCHA语言的示例。"fr"代表法语!

<script type="text/javascript">
var RecaptchaOptions = {
   lang : 'fr',
};
</script>

Google reCAPTCHA的API:

http://code.google.com/apis/recaptcha/docs/customization.html#i18n


0

当然,它们是一个问题。对于您来说,俄语验证码会是一个问题吗?中文验证码呢?

这些URL确实是ASCII码,但这只与极客有关。普通人会去Google,在自己的语言中输入一些文本,然后单击其中一个答案。他们从来没有输入过URL。


3
我想象俄罗斯人/中国人比相反情况下更习惯于输入ASCII字符。毕竟,直到最近才能获得国际化的URL。你说“普通人会去Google”,但通常是通过以ASCII形式键入Google.com进入Google。 - ceejayoz
2
如果你和不是极客的人联系,就像你和我一样,你会知道他们不会输入URL,甚至不会输入Google的URL。他们只需打开浏览器,主页通常是某种搜索引擎。无论是默认浏览器还是侄子/ISP/商场软件为他们配置的浏览器。请参见上面Paweł的评论:“你有多经常在地址栏上输入域名?” - Mihai Nita

0

我相信,组成英语字母表的24个字母在大多数世界中都是通用的,我们的用户涵盖了中文、日文、西里尔文和阿拉伯文,不过他们都可以通过操作系统切换到英文键盘。

英语中没有变音符号,这使得所有事情都变得更加容易,我们的系统在全球范围内更易于适应。每个人都打ASCII码,但他们也能够切换到自己特定区域/语言的字符。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接