2013-02-25 4 views
0
어떤 몸은 내가

이미지 업로드 보안

데이터베이스에 이미지를 업로드 적용되어 보안 대책이 무엇인지 말해 줄 수, 난 그냥이 스크립트를 작성하고 내가 그것을 SQL에서 저장 모르겠어요

1 주입 또는 아닙니다 또는 심지어 XSS 공격,

2 - 나는 (php, html, cgi etc. ect)의 확장을 가진 어떤 파일도 허용하고 싶지 않다. 이미지 폴더는 업로드 된 모든 이미지를 저장하고, 나는 단지 이것을하는 법을 모르지만, 나는 .htaccess로 끝내야 만한다고 생각한다.

3-파일 업로드 https://www.owasp.org/index.php/Unrestricted_File_Upload

가능하면 외부 파일을 저장하기위한 내가 공격

도움하시기 바랍니다 어떤 종류의 피해에 대한 내 웹 서버에있는 이미지 폴더를 찾습니다해야,

<form method="post" action="index.php" enctype="multipart/form-data"> 

      <input type="file" name="image" /> 
      <br/> 
      <input type="submit" value="UPLOAD" /> 

     </form> 


    if(isset($_FILES['image'])) 
    { 
     if($_FILES['image']['error'] > 1) 
     { 
      die('Please choose image'); 
     } 

     else if (!preg_match('([^\s]+((jpg|png|gif|jpeg))$)', $_FILES['image']['type']))  
     { 
      die('Please upload a valid image with extension of (jpg, gif, png, jpeg)'); 
     } 


     else 
     { 

      $target = "upload/".time().'_'.basename($_FILES['image']['name']); 

      $temp = $_FILES['image']['tmp_name']; 

      $moved = move_uploaded_file($temp, $target); 

      $conn = mysql_connect('127.0.0.1','root','') or die (mysql_error()); 

      $db  = mysql_select_db('test'); 

      $image = str_replace('upload/','', $target); 

      $sql  = mysql_query("INSERT INTO `image` (`id`, `image_name`) VALUES ('','$image')"); 

      header('Location: index.php'); 

     } 

    } 
+0

[PHP 이미지 업로드 보안 체크리스트] (http://stackoverflow.com/questions/4166762/php-image-upload-security-check-list) 중복 가능 – deceze

답변

2

확인 OWASP 권고 웹 서버 공개 디렉토리