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を新しいものに置き換えるにはどうすればよいですか?

誰かがこれで私を助けてくれることを願っています。

挨拶、

Luxo

PS:サーバーに送信する前に、JavaScript暗号化を使用してパスワードを暗号化する必要がありますか?

4

2 に答える 2

1

1)画像をリクエストするには、AJAXで正しいヘッダーを使用してreCAPTCHAをリクエストする必要があります。これにより、ケースで画像をリクエストするためのヘッダーが送信されます。

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 に答える