Php 从用户名文件夹获取图像

Php 从用户名文件夹获取图像,php,mysql,Php,Mysql,您好,我正在开发一个网站,在注册表上,需要用户名密码和图像上传到数据库中,为每个用户创建一个专用文件夹。现在我要做的是在用户登录时获取图像,显然应该显示的图像将是注册时上载的用户的图像。是否可以在没有id但使用用户名文件夹的情况下执行此操作? 这是我上传图像的方式 $username = $_POST ['username']; $password = $_POST ['password']; $email = $_POST ['email']; $image = $_FILES['image

您好,我正在开发一个网站,在注册表上,需要用户名密码和图像上传到数据库中,为每个用户创建一个专用文件夹。现在我要做的是在用户登录时获取图像,显然应该显示的图像将是注册时上载的用户的图像。是否可以在没有id但使用用户名文件夹的情况下执行此操作? 这是我上传图像的方式

$username = $_POST ['username'];
$password = $_POST ['password'];
$email =  $_POST ['email'];
$image = $_FILES['image']['name'];
$image_tmp = $_FILES['image']['tmp_name'];



$s = " select * from usertable where username = '$username'";

$result = mysqli_query($con, $s);

$num = mysqli_num_rows($result);

if($num == 1){
  echo "Username Already Taken";
}else{
    mkdir("Images/$username", 0777, true);
move_uploaded_file($image_tmp,"Images/$username/$image");
  $reg= "insert into usertable(username, password, email,imagename) values ('$username', '$password', '$email','$image')";
  mysqli_query($con, $reg);
  echo "registration successfull";
}
登录表单

    $username = $_POST ['username'];
$password = $_POST ['password'];



$s = " select * from usertable where username = '$username' && password = '$password'";
$dirname = "images/$username";
$images = glob($dirname."*.png");

$result = mysqli_query($con, $s);

$num = mysqli_num_rows($result);

if($num == 1){

    $_SESSION['images']= $images;
  $_SESSION['username']= $username;
  header('location:home.php');
}else{
  header('location:index.php');
}
主页

<title>Welcome</title>
   </head>
   <body >

 <a href ="logout.php"> Log Out </a>

 <img src="<?php echo $_SESSION['images']; ?>"/>

   <h1>Welcome <?php echo $_SESSION['username']; ?></h1>
欢迎您
"/>
欢迎

因此,当用户登录时,从数据库中读取用户名?是的,这是可能的(如果您的用户名没有id…),永远不要在数据库中存储普通密码。使用
密码散列()
密码验证()
时,您在那里有一个巨大的安全漏洞(除了已经存在的sql注入):我可以上传一个php脚本并执行它!(你给了它0777,不要检查mimetype/extention/anything)@ WeRekk OS在文件系统中起到了作用,例如,基于*NIX的系统认为CAP是不同的,即“代码>图像和图像文件夹将是不同的,并且可以存在于同一位置,但是在Windows系统中,两者都将被视为相同。我看到您正在创建带有CopsI代码“MKDIR”的图像文件夹。Images/$username“,0777,true);并使用小i访问它,
$dirname=“Images/$username”;
因此,在给出确切的解决方案之前,我询问了您。