0

我有下一个 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 替换旧的 reCAPTCHA?

希望有人可以帮助我。

问候,

卢克索

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

4

2 回答 2

1

1)要请求图像,您必须在 AJAX 中请求带有正确标头的重新验证码,该标头在您的情况下发送用于请求图像的标头

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

于 2013-03-25T13:42:58.123 回答
0

如果你使用 jQuery,那么 $('#form-id').serialize(); 就是你要找的。将此函数返回的数据用作发布 Ajax 的数据。

如果您没有 HTTPS,那么使用 JavaScript 加密密码是毫无价值的。

于 2013-03-25T13:27:51.877 回答