1

我一直使用纯 HTML 版本登录,但希望从现在开始使用 jQuery 版本。一个比一个有什么优点或缺点吗?请安全角度。

注意:我将验证变量后端,所以现在不用担心。

谢谢

纯 HTML

<form name="login" method="post" action="login.php">
    Username: <input type="text" id="username" name="username" /><br />
    Password: <input type="password" id="password" name="password" /><br />
    <input type="submit" id="submit" name="submit" value="Login" />

    <input type="hidden" id="hash" name="hash" value="dynamic has goes here" />
    <input type="hidden" id="trap" name="trap" value="allways empty" />
</form>

jQuery 风格

$(document).ready(function()
{
    $("#login").submit(function(event)
    {
        event.preventDefault();

        var username = $('#username').val();
        var password = $('#password').val();
        var hash = $('#hash').val();
        var trap = $('#trap').val();

        $.ajax({
            type        : 'POST',
            url         : 'login.php',
            data        : {username:username, password:password, hash:hash, trap:trap},
            dataType    : 'json',
            cache       : false,
            success     : function(response)
            {
                window.location = response.redirect;
            },  
            error       : function(response)
            {
                //Process
            }
        });

        return false;
    });
});

<form name="login" method="post">
    Username: <input type="text" id="username" name="username" /><br />
    Password: <input type="password" id="password" name="password" /><br />
    <button type="submit">Login</button>

    <input type="hidden" id="hash" name="hash" value="dynamic has goes here" />
    <input type="hidden" id="trap" name="trap" value="allways empty" />
</form>
4

1 回答 1

1

从安全的角度来看,如果您单击“发布”表单的提交按钮,您的浏览器将对服务器执行发布请求。如果您使用 jQuery,则 post 请求将完全相同。

我唯一的建议是使用 https。

于 2012-11-30T17:10:32.987 回答