2013-03-25 3 views
0

У меня есть следующий вид HTML:AJAX рекапчи проверить

<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: Должно ли я использовать яваскрипт шифрование для шифрования паролей перед отправкой на сервер?

+0

Как javascript шифрование паролей - проверка этого вопроса http://stackoverflow.com/questions/412 1629/password-encryption-at-client-side – WTK

+0

использовать https для защиты вашего канала связи с сервером –

ответ

1

1) запрашивать изображение, которое вы должны запросить ReCaptcha с правильными заголовками в AJAX то есть отправить заголовки для запроса изображения в вашем случае

2), если проверка через AJAX необходимо зашифровать или иначе любой бомж может коснуться паролям для этого просто зашифровать с тем же шифрованием вы будете использовать для хранения в базе данных примера: если вы зашифровать с md5 из PHP вместо шифрования PWD с md5 с помощью JS и отправить хэш

0

Если вы используете jQuery, тогда $ ('# form-id'). Serialize(); это то, что вы ищете. Используйте данные, возвращенные из этой функции, в качестве данных для отправки Ajax.

Если у вас нет HTTPS, бесполезно шифровать пароль с помощью JavaScript.

+0

Вопрос не в том, как POST AJAX, но как «отправить это обратно клиенту и позволить javascript (jQuery) заменить старый reCAPTCHA с новым ". –