是「Completely Automated Public Turing test to tell Computers and Humans Apart」(全自動區分計算機和人類的圖靈測試)的縮寫,已由卡內基梅隆大學註冊商標。是一種區分用戶是計算機和人的公共全自動程序。在一個 CAPTCHA 測試中,作為伺服器的計算機會自動生成一個問題由用戶來解答。這個問題可以由計算機生成並評判,但是必須只有人類才能解答。由於計算機無法解答 CAPTCHA 的問題,所以回答出問題的用戶就可以被認為是人類。
(我的帳號: 0_o) 是一種由 CAPTCHA 的發明者所推薦的官方 CAPTCHA 軟體。
eCAPTCHA 計畫的主要目的是利用 CAPTCHA 技術來幫助典籍數位化的進行,這個計畫將由書本掃描下來無法準確的被光學文字辨識技術識別的文字顯示在 CAPTCHA 問題中,讓人類在回答 CAPTCHA 問題時用人腦加以識別。
為了驗證人類所輸入的文字是正確的,而不是隨意輸入,有兩個字會被顯示出來;一個是光學文字辨識軟體無法辨別的字,另一個是一個已經知道正確答案的字。如果使用者正確的回答出已知正確答案的字,那麼就假設所輸入的另一個光學辨識軟體無法辨識的字是認真的檢視後被輸入而非隨便輸入。
How to reCAPTCHA Your Java Application
原文在: http://wheelersoftware.com/articles/recaptcha-java.html
第一步. 準備你的帳號與一對 key
首先到, reCAPTCHA
網站上註冊一個帳號. 然後提供網域名稱給 reCAPTCHA, 網站會給你一對這個域名的 key. 讓你可以用來認證你的請求.
第二步. 將 reCAPTCHA JavaScript 放在你程式的 FORM 裡面
將底下這段 JavaScript 放在 <form> 與 </form> 標籤之中. 這段 JavaScript 會在使用者請求頁面的時候產生 reCAPTCHA box.
<script type="text/javascript" src="http://api.recaptcha.net/challenge?k=<your_public_key>"></script>
<noscript>
<iframe src="http://api.recaptcha.net/noscript?k=<your_public_key>" height="300" width="500" frameborder="0"></iframe><br>
<textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
<input type="hidden" name="recaptcha_response_field" value="manual_challenge">
</noscript>
將上面的 <your_public_key> 替換成自己的 public key. 注意別用錯也別洩漏自己的 private key.
第三步. 執行程式確定 reCAPTCHA 有出現
你應該看到 reCAPTCHA 出現在表單內. 你可以使用 localhost 或是 127.0.0.1 來測試任何你指定的網域名稱所產生的 key.
第四步. 驗證
下載最新的 recaptcha4j
. 他提供了簡單的 API 用來驗證使用者的回覆是否有效.
String remoteAddr = request.getRemoteAddr();
String reChallenge = request.getParameter("recaptcha_challenge_field");
String reResponse = request.getParameter("recaptcha_response_field");
ReCaptchaImpl reCaptcha = new ReCaptchaImpl();
reCaptcha.setPrivateKey("<your_private_key>");
ReCaptchaResponse reCaptchaResponse = reCaptcha.checkAnswer(remoteAddr, reChallenge, reResponse);
if (reCaptchaResponse.isValid()) {
System.out.println("驗證成功!!");
} else {
System.out.println("驗證失敗!!");
}
將上面的 <your_private_key> 替換成自己的 private key. 就完成了
How to change reCAPTCHA colors
原文在: http://wiki.recaptcha.net/index.php/How_to_change_reCAPTCHA_colors
在引用的 JavaScript 之前, 加入一小段 Script.
注意: 如果放在後面的話, 是沒有效果的.
<script type="text/javascript">
var RecaptchaOptions = {theme : '<theme name here>'};
</script>
<script type="text/javascript" src="http://api.recaptcha.net/challenge?k=<your_public_key>"></script>
<theme name here> 可以是:
the simple java captcha project
http://simplecaptcha.sourceforge.net/
JCaptcha
http://jcaptcha.sourceforge.net/
kaptcha
http://code.google.com/p/kaptcha/
CAPTCHA SkewPassImage
http://skewpassim.sourceforge.net/