AJAX reCAPTCHA验证

时间:2013-03-25 13:22:33

标签: php javascript jquery ajax recaptcha

我有下一个HTML表单:

<form name="register" method="post" action="register.php" >
<fieldset>
    <legend>Register</legend>
    <input type="hidden" name="regform" value="true" />

    <label for="username">Username:</label>
    <input type="text" name="username" id="username" />
    <br />
    <label for="email">Email:</label>
    <input type="text" name="email" id="email" />
    <br />
    <label for="password1">Password:</label>
    <input type="password" name="password1" id="password1" />
    <br />
    <label for="password2">Password:</label>
    <input type="password" name="password2" id="password2" />
    <br />

    <?php
    $config = new Config();
    $publickey = $config->getCaptchaPublicKey();
    echo recaptcha_get_html($publickey);
    ?>

</fieldset>
<input type="submit" value="Register!" />

我想做的是,当用户按下提交按钮时,我通过AJAX从表单发送数据并验证它们。 但我想知道我如何更新recaptcha?我可以在我的PHP脚本中验证它,并回显错误中包含的新内容。但是我该怎么发送呢 回到客户端,让javascript(jQuery)用新的替换旧的reCAPTCHA?

希望有人能帮助我。

映入眼帘,

LUXO

PS:我应该在发送到服务器之前使用javascript加密来加密密码吗?

2 个答案:

答案 0 :(得分:1)

1)要请求图像,您必须在AJAX中使用正确的标题请求重新接收 即在您的案例中发送请求图像的标题

2)如果通过AJAX验证,您必须加密或以其他任何流浪汉可以触摸密码 因为它只使用您用于存储在数据库中的相同加密进行加密 例如:如果你用php加密md5 而是使用JS使用md5加密pwd并发送哈希

答案 1 :(得分:0)

如果你使用jQuery然后$(&#39;#form-id&#39;)。serialize();是你正在寻找的。使用从此函数返回的数据作为数据发布Ajax。

如果您没有HTTPS,则使用JavaScript加密密码毫无价值。