我如何制作一个ajax captcha,并通过url进行确认

How can I make an ajax captcha with confirmation by the url?

本文关键字:url 确认 captcha ajax 何制作 一个      更新时间:2023-09-26

我正在尝试在网站上制作一个表单。此表单使用Ajax将url中的一些数据发送到php文件并显示响应。有没有办法在ajax的url中添加一个captcha,并让php检查captcha?感谢

我的脚本想法:

<script>
    function sleep(milliseconds) {
        var start = new Date().getTime();
        for (var i = 0; i < 1e7; i++) {
            if ((new Date().getTime() - start) > milliseconds) {
                break;
            }
        }
    }
    function loadDoc() {
        var cap = document.getElementById('captcha_code').value
        document.getElementById("captcha_code").value = "";
        var search = document.getElementById('nombre').value
        var xhttp = new XMLHttpRequest();
        xhttp.onreadystatechange = function () {
            if (xhttp.readyState == 4 && xhttp.status == 200) {
                document.getElementById("box").innerHTML = xhttp.responseText;
                sleep(500);
                eval(document.getElementById("runscript").innerHTML);
            }
        };
        xhttp.open("GET", "request.php?nombre=" + escape(search) + "&code=" + cap, true);
        xhttp.send();
    }
</script>

这是什么垃圾?

function sleep(milliseconds) {
    var start = new Date().getTime();
    for (var i = 0; i < 1e7; i++) {
        if ((new Date().getTime() - start) > milliseconds) {
            break;
        }
    }
}

你有一个叫setTimeout();的东西。请使用它。如果您正在使用jQuery,请尝试以下操作:

$.post(url, data, function (resp) {
  // stuff to do when something returns from the server `resp`.
});

要在PHP文件中获得captcha代码,需要使用$_GET('code')而不是GET(reCAPTCHA)。您还可以检查php文件是否具有权限。