我在網上發現了這個很棒的小代碼,但它似乎沒有正確刪除空格後比較兩個字符串?我知道一些js,但這裏的任何錯誤都超出了我的理解。希望有人會知道這個答案。Javascript驗證碼
注意:它似乎也基於chs的數量來驗證,而不是那些chs是什麼,這些數字似乎不需要匹配,只要有足夠的數字即可。
組織代碼是由「mama21mama」,從「http://osticket.com/forums/showthread.php?t=6489&highlight=captcha」
我已經取得了一些小的個人修改,嘗試修復它,下面是我的VR完成。
<script type="text/javascript">
function DrawCaptcha() {
var a = Math.ceil(Math.random() * 9)+ '';
var b = Math.ceil(Math.random() * 9)+ '';
var c = Math.ceil(Math.random() * 9)+ '';
var d = Math.ceil(Math.random() * 9)+ '';
var e = Math.ceil(Math.random() * 9)+ '';
var f = Math.ceil(Math.random() * 9)+ '';
var g = '10';
var code = a + ' ' + b + ' ' + ' ' + c + ' ' + d + ' ' + e + ' '+ f + ' ' + g;
document.getElementById("txtCaptcha").value = code
}
function ValidCaptcha() { // valida los numeros ingresados
var str1 = removeSpaces(document.getElementById('txtCaptcha').value);
var str2 = removeSpaces(document.getElementById('txtInput').value);
if (str1 == str2){
return true; }
else {
return false; }
}
function removeSpaces(string) {
return string.split(' ').join('');
}
</script>
對我來說這似乎很好(輸入數字,'ValidCaptcha'的結果被警告'輸入的onblur'):http://jsfiddle.net/APzxv/5/ –
這似乎不是一個非常安全的驗證碼對我來說。人們可以輕鬆地重寫'ValidCaptcha'來返回true。希望別人會對此表示贊同,因爲我不是驗證碼專家。 –
以這種方式驗證CAPTCHA客戶端將意味着它很容易被繞過。相關評論:http://stackoverflow.com/questions/1998341/captcha-validation-with-javascript/1998361#1998361 – mattle