在我的代码中防止SQL注入

时间:2014-04-29 18:54:50

标签: php sql-injection

我正在为一个单一的任务创建一个网站..我有一个记住我按钮和所有好东西,但有人查看了我的代码并说SQL注射可能发生..

什么是最好的行动方案?

我只需要指导:

<?php 
    include 'functions.php';

    if (loggedin())
    {
        header("Location: index.php");
        exit();
    }

    if (isset($_POST['login']))
    {
        $username = $_POST['username']; 
        $password = $_POST['password'];

        if (isset($_POST['rememberme']))
        {
            $rememberme = $_POST['rememberme'];
        }

        if ($username && $password)
        {
            $login = mysql_query("SELECT * FROM users WHERE username='$username'");

            while($row = mysql_fetch_assoc($login))
            {
                $db_password = $row['password'];

                if($password == $db_password)
                {
                    $loginok = TRUE;
                }
                else
                {
                    $loginok = FALSE;
                }

                if ($loginok == TRUE)
                {   
                    if($rememberme == "on")
                    {
                        setcookie("username", $username, time() + 7200);
                    }
                    else
                    {
                        if ($rememberme == "")
                        {
                            $_SESSION['username'] = $username;
                        }
                    }

                    header("Location: index.php"); 
                    exit();
                }

1 个答案:

答案 0 :(得分:-4)

有一个名为addslashes()的php方法会自动将转义序列添加到应该处理次要SQL注入尝试的任何字符串