2011-10-07 20 views
18

如果我有一個驗證碼顯示一系列英文字符,該怎麼辦?那些不會說英語的人會在解釋和/或輸入這些字符時遇到麻煩嗎?如果是這種情況,那麼國際化驗證碼的最佳解決方案是什麼?英文CAPTCHA會成爲其他國家人士的問題嗎?

+0

對於西方國家來說,這應該不成問題,因爲他們也使用拉丁字母。不知道一些亞洲國家的人們能夠讀懂拉丁字母。打字應該沒問題,但不太習慣這些字符可能會降低識別率。 – CodesInChaos

+2

在中國,人們在默認情況下在QWERT佈局鍵盤上編寫[pinjin](http://en.wikipedia.org/wiki/P%C4%ABny%C4%ABn)。但是,爲什麼使用CAPTCHA? – Jacco

+0

使用僅包含數字的驗證碼挑戰 – SCC

回答

10

由於URL的99%是在常規ASCII,我不認爲你將有一個problem..after一切是如何將他們得到谷歌或雅虎,如果他們無法鍵入URL

那說我偶爾碰到用於驗證碼的中文字符

+0

我不太明白哪些網址與它有關。能夠輸入這個詞是一回事,能夠理解它是另一回事。 BTW。你能告訴我你統計的來源嗎?或者這只是粗略的猜測? –

+1

@Pawel理解這個詞在驗證碼中不是很重要。這只是一種提高識別率的糾錯機制。 – CodesInChaos

+2

@CodeInChaos:理解這個詞是能夠識別一個字符(即是o還是a)的區別。不要告訴我這不是一個問題,我有太多這樣的問題。 –

0

確定他們是個問題。俄羅斯的驗證碼會成爲你的問題嗎?那中國人呢?

這些URL確實是ASCII碼,但這隻與極客相關。 普通人前往谷歌,用自己的語言鍵入一些文本,然後點擊其中一個答案。那麼永遠不要輸入一個URL。

+3

我想像俄羅斯人/中國人更習慣於輸入ASCII字符,反之亦然。畢竟,直到最近才能獲得國際化的網址。你說「普通人去谷歌」,但你經常通過以ASCII碼輸入Google.com去**谷歌。 – ceejayoz

+2

如果您想與不是極客的人(例如您和我)聯繫,您會知道他們不會輸入網址,甚至不會輸入網址。他們只是啓動瀏覽器,而主頁通常是某種搜索引擎。無論是默認的瀏覽器,還是爲他們配置的侄子/ isp/mall-ware。另請參閱Paweł上面的評論:「您多長時間在地址欄上鍵入域名?」 –

3

對於使用其本機非拉丁鍵盤佈局的用戶來說,例如俄羅斯人和希臘人,這會是一個問題。他們將被迫切換鍵盤佈局,以填補安全問題。

另一件事是能夠識別單詞 - 不會說英語的人在獲得正確的單詞時可能會遇到很大的問題。即使我有時候(雖然我不太流行的話),雖然我相當精通......

換句話說,不要做這個錯誤,你的應用程序應該容易爲所有用戶使用。

+3

他們是不是也必須切換佈局才能訪問我的網站,因爲域名是英文的?這也不是一個解決方案。 – rook

+1

@Rook:您多長時間在地址欄上輸入域名?除非您的網站非常流行,否則用戶通常會搜索某些內容,然後點擊鏈接。如果他們喜歡你的網站,他們很可能會將其加入書籤。再次,沒有佈局切換。 至於解決方案,有一些可能性:1.避免使用驗證碼。 2.使用本地化驗證碼。 3.使用一些數學公式作爲驗證碼並強制用戶輸入數字(不確定是否有幫助)。 4.使用多個圖像(使用定義的alt標籤)和可翻譯的句子並定義其中的一個 - 用戶將點擊右邊的一個。 –

+0

@Rook:對於最後一個,它應該是不同的。除非有人點擊「視力受損」,否則不需要ALT標籤。但在這種情況下,它應該使用聲音而不是書寫的定義,即(文本)什麼項目可以使這個聲音,(聲音)嗡嗡聲,(文本作爲圖像是無用的)鈴,吉他,...,蜂鳴器:) –

1

這絕對是一個問題。基於字典的CAPTCHA理想情況下應適應用戶的語言偏好,並要求他們識別符合其語言偏好的單詞,並擴展他們最熟悉的字符集。

但是在沒有這樣的國際化的情況下,我會說數字和數學表達式是最普遍的解決方案,對於基於字的驗證碼,隨機的一系列ASCII字符(隨機的將是文化中立的)即使有些用戶需要切換輸入法,幾乎所有世界各地的用戶都可以輸入這些字符。

現在,真正變得棘手的是爲視障用戶提供輔助功能。製作一個普通的音頻CAPTCHA似乎幾乎是不可能的(你可以考慮一組普遍認可的聲音,而不是口頭語言,但我懷疑這會提供足夠的安全性)。並且國際化(多語言)口語詞彙的生成遠不是微不足道的。

6

基於圖像的CAPTCHA有兩個主要的優點在基於文本的CAPTCHA:

  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. 檢測:看Image-Based CAPTCHA from Confident TechnologiesPic-Capture
  4. 旋轉:看A Dynamic, User-Friendly Captcha With Pictures
  5. 謎:看到Key Captcha
1

沒有,因爲英語的驗證碼是ASCII - - 即使人們使用日文,中文或俄文鍵盤,ASCII碼也始終可用。所以這不應該是一個問題!正如SQLMenace指出的那樣,基於圖像的驗證碼只需要該人閱讀該字母 - 對於網上任何可以看到的人都應該可以看到。

其他的方法是一個問題,雖然。

Google的reCaptcha有一個小圖標,如果由於某種原因驗證碼不可讀或包含外來字符,用戶可以得到不同的驗證碼。

我建議您使用Google的reCaptcha,而不是自己實施它。

額外的好處:

谷歌的驗證碼也可用於BTW其他語言。 http://www.google.com/recaptcha/faq 其中使您可以爲用戶的默認語言環境國際化驗證碼。


編輯:

有一個變通谷歌的驗證碼與Flash作品!

入住這裏: http://groups.google.com/group/recaptcha/browse_thread/thread/e22d7e3c91bcc9db

+0

+1當然我很樂意使用reCaptcha,但它不能在閃光燈上使用。所以我必須推出自己的,沒有解決方案,沒有獎勵對不起。 – rook

+0

有一個解決方法,使其與Flash一起工作... – Tilo

0

是的,這可能是一個問題的用戶的一小部分。在爲您的網站構建用戶界面以改善用戶體驗時,是否考慮到了足夠大的問題?這取決於你。如果這取決於我,可能不是。

爲了幫助您朝正確的方向發展,我會使用Google的reCAPTCHA。它是一個偉大的事業,像魅力一樣運作。還有一個很棒的API,您可以在其中自定義顯示的語言。您可以使用PHP來檢測他們的國家並編寫一些代碼來更改設置以使用其母語顯示。

下面是更改reCATCHA語言的示例。 「fr」是法國人!

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

谷歌reCATPCHA的API:

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

0

我認爲,這構成了英文字母表的24個字母在世界上90%以下相對應。我們有中文,日文,西里爾文和阿拉伯文用戶,但他們都可以在他們的操作系統中切換到英文鍵盤。

我們沒有英文的變音符號,這使得所有的事情都變得容易很多,我們的系統在世界各地更容易適應。每個人都鍵入ASCII,但他們可以切換到他們自己的特定於區域/語言的字符。