JQuery $ .get()语句有安全漏洞吗?

时间:2012-01-16 08:43:10

标签: ajax security

所以我制作的脚本允许用户注册并注册我的网站。该信息是从HTML表单中收集的,只需要输入用户名和密码即可。这是我正在做的一个愚蠢的版本。

<form name="registration" id="registration" method="post" action="register.php">
    <input type="text" id="username">
    <input type="password" id="password">
    <input type="button" id="sendinfo">
</form>

我想使用AJAX和JQuery从表单中收集数据并将其放在数据库中,以便用户在注册时不必从页面中删除。所以我正在做这样的事情:

<script type="text/javascript" src="jquery-1.7.1.js"></script>
<script type="text/javascript">

    $(document).ready(function(e){

        var user = $("#username").val();
        var pass = $("#password").val();

        $("#sendinfo").click(function(){

            //Send data to php file                 
            $.get("register.php?", {uname: user, pass: pass}, function (msg, status, xhr){
                alert(msg);
            });

        });

    });

</script>

将密码发送到“register.php”会打开我的安全性吗?

3 个答案:

答案 0 :(得分:1)

您应该使用POST而不是GET。 GET参数将显示在您的服务器日志中。你不希望出现这种情况。另外,请考虑使用HTTPS加密客户端和服务器之间的数据。

答案 1 :(得分:0)

您应该使用HTTPS来避免安全问题。这样,客户端和服务器之间的通信使用证书加密,man-in-the-middle将无法读取流量数据。

答案 2 :(得分:0)

不超过正常的提交。您可以通过添加SSL来增强安全性,以便在发送数据时加密数据。此外,如果您使用简单的哈希算法来存储密码(如MD5或SHA1),您可以在发送密码之前使用Javascript对密码进行哈希处理。