비디오: 구매대행 코칭 프리랜서 편 셋째 주 #04 (자막추가) 2024
웹 응용 프로그램이 사용자가 한 가지 이유나 다른 이유로 파일을 업로드 할 수있게하는 것이 일반적입니다. 이러한 업로드가 안전한지 확인해야합니다. 예를 들어 일부 게시판에서는 사용자가 각 사용자의 게시물 옆에 작은 이미지 나 아바타를 업로드 할 수 있습니다. 다른 응용 프로그램에서는 분석을 위해 데이터 파일을 업로드 할 수 있습니다.
PHP의 내장 fopen () 함수를 사용할 수 있습니다.이 함수는 사용자가 파일을 업로드 할 수 있도록 파일이나 URL에 대한 스트림을 자동으로 엽니 다. 불행하게도,이 방법은 원격 서버에서 웹 서버로 파일을 업로드하는 데 사용할 수있는 악의적 인 사용자가 악용하는 방식에 익숙합니다.
이러한 유형의 악용을 방지하려면 PHP에서 두 가지 설정을 비활성화해야합니다. ini: register_globals 및 url_fopen. 이 설정을 사용하지 않으면 명시 적으로 해당 기능을 활성화하지 않고도 PHP의 내장 파일 업로드를 사용할 수 없습니다.
PHP에서이 두 함수를 사용 불가능하게 만든 후에. ini, 여전히 사용자가 파일을 업로드 할 수 있어야합니다. 사용자가 파일을 업로드 할 수 있도록 fopen ()보다 훨씬 안전한 PHP의 FTP 함수 세트를 사용하십시오.
FTP 기능을 상당히 직관적으로 사용할 수 있습니다. 먼저 연결을 설정 한 다음 필요한 파일을 업로드하고 마지막으로 연결을 닫습니다. PHP에서 FTP 함수를 사용하는 방법은 다음과 같습니다.
가장 일반적인 FTP 함수와 인수는 다음과 같습니다.
-
ftp_connect (string $ host [int $ timeout]) : < FTP 서버 (이 경우 웹 서버)에 연결하십시오. ftp_login
-
ftp_put (리소스 $ ftp_stream, 문자열 $ remote_file, 문자열 $ local_file, int $ mode [int $ startpos]) : 로컬 컴퓨터의 파일을 서버에 저장합니다.
-
ftp_get (리소스 $ ftp_stream, 문자열 $ local_file, 문자열 $ remote_file, int $ mode [int $ resumepos]) : 서버에서 파일을 가져 와서 로컬 컴퓨터로 보냅니다.
-
ftp_close (resource $ ftp_stream) : 서버에 대한 연결을 닫습니다.
-
끝내 자마자 FTP 스트림을 닫아야합니다. 그렇지 않으면 하이재킹에 취약한 연결이 열려 있습니다.