" WHERE user_name = '" . $_POST['username']. "' AND password = '" . md5($_POST['password']) . "'";这段就是网站验证代码,SQL注入应该怎么写

解决方案 »

  1.   

    如果未对“'”转义,则
    $_POST['username'] = "' or 1 #"
      

  2.   


    function check_input($value) {
    // 去除斜杠
    if (get_magic_quotes_gpc()) {
    $value = stripslashes($value);
    }
    // 如果不是数字则加引号
    if (!is_numeric($value)) {
    $value =mysql_real_escape_string($value);
    }
    return $value;
    }$n=check_input($_POST['username']);
    $p=md5($_POST['password']);
    " WHERE user_name = '$n' AND password = '$p'";
      

  3.   

    借宝地,请教各位大虾个问题:
    SQL防注入,我是直接把$_GET、$_POST获取的数据给去空格,请问这样做还会被注入吗?前提:用户名和密码不允许存在空格
      

  4.   


    mysql_real_escape_string
    htmlspecialchars