使用$ .post()而不是HTML表单提交是否存在安全问题?

时间:2014-06-22 00:56:49

标签: javascript jquery post

我刚刚注意到一个关于仍在开发中的网站的潜在安全漏洞 - 我的第一个完整网站:)。我有一个登录表单供用户登录网站。我正在使用jQuery的.click()和$ .post()方法来发送服务器端处理数据。但是,我刚刚注意到Firebug控制台窗口正在显示发送的数据。这是我网站的安全漏洞还是可以的?

HTML:

<form id="signin-form"> 
        <h2>Sign in</h2>
        <p><input type="text" id="username" autocomplete="on" autofocus /></p>
        <p><input type="password" id="password" placeholder="Password" autocomplete="on" /></p>
        <!-- DISPLAY ERRORS -->
        <p id="error"></p>
        <input id="signin-btn" type="submit" value="Sign in" />
</form>

脚本:

<script>
    $('#signin-btn').click(function(evt) {
        evt.preventDefault();
        $(this).addClass("disabled").prop("disabled", true);
        $(this).attr("value", "Please wait...");

        var referrer = document.referrer;
        var username = $('#username').val();
        var password = $('#password').val();

        $.post("./signin.php", {username: username, password: password}, function(data) {
            if(data === 'success') {
                <?php if(isset($_GET['redirect'])) {
                    echo 'top.window.location.href = "' . $_GET['redirect'] . '";';
                } else {
                    echo 'top.window.location.href = referrer;';
                }
                ?>
            } else {
                $('#signin-btn').removeClass("disabled").prop("disabled", false);
                $('#signin-btn').attr("value", "Sign in")
                $('#error').html(data);
            }
        });
    });
</script>

这是我在发送请求时在Firebug中看到的内容:

enter image description here

0 个答案:

没有答案