gpt4 book ai didi

JavaScript 验证码

转载 作者:行者123 更新时间:2023-11-28 11:27:14 33 4
gpt4 key购买 nike

我在网上找到了这个很棒的小代码,但它似乎没有在正确删除空格后比较两个字符串?我知道一些js,但这里的任何错误都超出了我的理解范围。希望有人知道这个问题的答案。

注意:它似乎还根据 channel 的数量而不是这些 channel 的数量进行验证,这些数字似乎不需要匹配,只要有足够的数量即可。

组织代码由“http://osticket.com/forums/showthread.php?t=6489&highlight=captcha”中的“ma​​ma21mama”完成

我做了一些小的个人修改来尝试修复它,下面是我的虚拟现实。

<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>

最佳答案

请勿使用此代码。它不会提高安全性。

为了 captcha为了有效,验证码的答案必须是只有服务器知道的 secret 。客户端脚本无法实现验证码,因为客户端代码必须知道回答。

此脚本无法保护您的服务器免受恶意攻击。世界上所有的 JavaScript 都无法阻止攻击者编写 POST 的脚本向您的服务器发送的是假表格。由于验证码验证发生在客户端,因此您的服务器无法判断该请求是否是由人类合法生成的。

这个验证码也没有捕获要点,将挑战呈现为纯文本。任何脚本都可以从 DOM 读取挑战并提供正确的答案。

如果浏览器禁用了 JavaScript,此脚本将毫无用处。如果我输入 ValidCaptcha = function() { return true; } 这个脚本就没用了在控制台中。

不要尝试自己推出,而是使用 reCAPTCHA 。它是免费的,有一个简单的 API,并为盲人用户提供了内置的住宿。

关于JavaScript 验证码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7572395/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com