1

登録フォームがあります

function Users_Registration() 
{
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    var usernames = $("#usernames").val();
    var emails = $("#emails").val();
    var passs = $("#passs").val();
    var rpasss = $("#rpasss").val();

    if(usernames == "")
    {
        $("#signup_status").html('<div class="info">Enter LogIn.</div>');
        $("#usernames").focus();
    }
    else if(emails == "")
    {
        $("#signup_status").html('<div class="info">Enter Email.</div>');
        $("#emails").focus();
    }
    else if(reg.test(emails) == false)
    {
        $("#signup_status").html('<div class="info">Enter Valid Email.</div>');
        $("#emails").focus();
    }
    else if(passs == "")
    {
        $("#signup_status").html('<div class="info">Enter Password.</div>');
        $("#passs").focus();
    }
    else if(rpasss == "")
    {
        $("#signup_status").html('<div class="info">Введите пароль повторно.</div>');
        $("#rpasss").focus();
    }
    else if(rpasss != passs)
    {
        $("#signup_status").html('<div class="info">Password doesn't match</div>');
        $("#rpasss").focus();
    }
    else
    {
        var dataString = 'usernames=' + usernames + '&emails=' + emails + '&passs=' + passs + '&rpasss=' + rpasss + '&page=signup';
        $.ajax({
            type: "POST",
            url: "reg2.php",
            data: dataString,
            cache: false,
            beforeSend: function() 
            {
                $("#signup_status").html('<br clear="all"><div style="padding-left:115px;"><font style="font-family:Verdana, Geneva, sans-serif; font-size:12px; color:black;">Wait..</font> <img src="images/loadings.gif" alt="Loading...." align="absmiddle" title="Loading...."/></div><br clear="all">');
            },
            success: function(response)
            {
                $("#signup_status").hide().fadeIn('slow').html(response);
            }
        });
    }
}

PHP

if(isset($_POST["page"]) && !empty($_POST["page"]))
{

    $user_name = trim(strip_tags(strtolower($_POST["usernames"])));
    $email_address = trim(strip_tags($_POST['emails']));
    $password = trim(strip_tags($_POST['passs']));
    $rpassword = trim(strip_tags($_POST['rpasss']));

PHPでいくつかの検証があります

からが機能しています。しかし、私はキャプチャを入れたくありません。安全にする方法はありますか?私のポイントは、登録フォームが 30 秒後に消えるようにすることです。そのため、開き直らなければなりません。

setTTimeOut(); 実行するのは何時以降です。

インターバルを使用する必要がありますか???

4

2 に答える 2

9

キャプチャとフォームの消失が同じセキュリティをどのように提供するのでしょうか? Captcha は、自動化されたスクリプトがフォームに入力するのを防ぐためのものです。スクリプトがフォームに入力してリクエストを送信するのに 30 秒もかからないため、キャプチャと同じ機能は提供されません。

これをコメントに投稿する必要がありますが、担当者が低すぎます。

于 2013-06-17T18:11:31.083 に答える
1
window.setInterval(function(){
    $('#someid').val('');
    // repeat for other form fields
}, 30000);

はい、可能です。しかし、私は上記のすべてのコメントに強く同意します。これはおそらく、実行しないでおくのが最善の方法です。Stef Heylen の答えは的を射ています。

于 2013-06-17T18:18:11.013 に答える