2012-06-25 3 views
0

여러 부분으로 구성된 양식을 사용하고 있고이 파일을 영구 저장하고 동시에 2 명 이상의 사용자가 동시에 파일을 업로드하려고하면 클라이언트가 업로드 한 파일이 어디에 저장되는지 알고 싶었습니다. 거기에 파일을 저장하거나 덮어 씁니까 ??멀티 파트 양식을 사용하여 업로드 한 파일은 어디에 저장됩니까?

내 CGI 스크립트는 내가 업로드 된 파일은 "자동적으로"구원을 얻을 생각하지 않는 사전

답변

0

의 평 스크립트

TNX에게 있습니다. 스크립트가 요청을 처리하여 저장해야합니다.

0

이러한 파일은 임시 디렉토리에 저장되므로 수동으로 저장해야합니다. (. 예를 들어 USER_ID를 포함, 또는 임의)

require "cgi-lib.pl"; 
$uploadDirectory = "YOUR_DIRECTORY"; 
open (OUTPUT_FILE, ">$upload_dir\/$in{'file'}") || & Die("Could not open file: $!"); 
undef $Buffer; 
while (read($in{'file'},$Buffer,1024)) { 
    print OUTPUT_FILE $Buffer; 
} 
close(OUTPUT_FILE); 

다중 업로드를 처리하기 위해 당신은 당신이 그들에게 별도의 이름을 부여 확인 할 수 있습니다

당신은 PERL, 이런 식으로 뭔가를 사용하여 파일을 제어 할 수 있습니다.

+0

kkz ,, 수동으로 저장하지만 두 명 이상의 사용자가 같은 이름의 파일을 동시에 업로드하려는 경우 hello.html을 말하면이 파일을 다른 이름으로 저장하거나 덮어 씁니다. – user1478564

+0

다시 이것은 수동 프로세스입니다. 동일한 이름의 파일이 있는지 확인하고 다른 이름 (예 : Name_1, Name_2)으로 저장할 수 있습니다. 가장 좋은 방법은 파일을 임의의 암호화로 저장하고 데이터베이스에 텍스트를 저장하는 것입니다. 경로 통과 공격에 노출 된 앞면에 제공된 이름을 사용하는 경우 (웹 응용 프로그램 보안에 대한 자세한 내용은 owasp.com 웹 사이트 참조) . – mihaisimi

+0

그리고 나는 db 또는 mysql에 대한 지식이 없으므로 동일한 이름을 가진 2 명의 사용자 파일이 다른 이름으로 저장됩니다. – user1478564

관련 문제