PHP问题,高手请进!

2025-03-24 11:01:56
推荐回答(4个)
回答1:

1    $username和$password没有用单引号括起来,可能引起sql注入

解决方法

$query = "select 1 from user where name='$username' and password='MD5($password)'";


2    变量没有过滤,可能其中会有特殊字符

解决方法

添加一个变量过滤函数

function clean($value){
  $value = trim($value);
  if(get_magic_quotes_gpc()){
  $value=stripslashes($value);
  }
  if(function_exists("mysql_real_escape_string")){
  $value=mysql_real_escape_string($value);
  }else{
  $value=addslashes($value);
  }
  return $value;
}

$username = clean($username);

 大概就想到这么多了。。。有高手看出望提点

回答2:

你sql写的都不对,字符串应该加引号的吧,用户提交的内容一般都要过滤的,要不容易注入

回答3:

$username直接输入 没有进行处理,可以构造特殊查询,进行sql注入

回答4:

应该是name='{$username}',楼主少个单引,楼主不妨把错误消息贴出来