현재 위치: > 최신 기사 목록> PHP 파일 전송 : FTP 및 SFTP를 사용하여 파일 보안을 보장하는 방법

PHP 파일 전송 : FTP 및 SFTP를 사용하여 파일 보안을 보장하는 방법

M66 2025-06-20

소개

인터넷 시대에는 파일 전송 수요가 증가하고 있으며 FTP (파일 전송 프로토콜)가 여전히 널리 사용됩니다. 그러나 기존의 FTP 프로토콜에는 일반 텍스트 전송 및 약한 신원 인증과 같은 보안 위험이 있습니다. 이 기사는 PHP를 사용하여 FTP 및 SFTP 프로토콜을 결합하여 파일 전송의 보안을 개선하는 방법을 소개합니다.

1. FTPS 프로토콜을 사용하십시오

FTP (FTP Over SSL/TLS)는 FTP와 SSL/TLS 암호화 프로토콜을 결합하여 파일 전송의 보안을 효과적으로 보호합니다. FTPS 연결은 PHP에서 FTP_SSL_CONNECT () 함수를 통해 쉽게 구현할 수 있습니다.

Code example:

$ ftp_server = 'ftp.example.com';
$ ftp_username = 'username';
$ ftp_password = '비밀번호';

// ftps 서버에 연결 $ conn_id = ftp_ssl_connect ($ ftp_server);

// ftps 서버에 로그인 $ login_result = ftp_login ($ conn_id, $ ftp_username, $ ftp_password);

if ($ conn_id && $ login_result) {
    // ftp 작동 // ...
} 또 다른 {
    Echo 'FTPS 서버에 연결하지 못했습니다';
}

// ftp 연결을 닫습니다. ftp_close ($ conn_id);
  

2. SFTP 프로토콜을 사용하십시오

SSTP (SSH 파일 전송 프로토콜)는 SSH 암호화 된 통신 프로토콜을 기반으로하여 더 강력한 보안을 제공합니다. PHP에서는 ssh2_connect () 함수를 사용하여 sftp 서버에 연결하고 ssh2_auth_password ()를 통해 인증 할 수 있습니다.

Code example:

$ sftp_server = 'sftp.example.com';
$ sftp_username = 'username';
$ sftp_password = '비밀번호';

// sftp 서버에 연결 $ conn_id = ssh2_connect ($ sftp_server);

// authentication $ auth_result = ssh2_auth_password ($ conn_id, $ sftp_username, $ sftp_password);

if ($ conn_id && $ auth_result) {
    // sftp 작동 // ...
} 또 다른 {
    Echo 'SFTP 서버에 연결하지 못했습니다';
}

// sftp 연결을 닫습니다 ssh2_disconnect ($ conn_id);
  

3. 인증을 위해 SSH 키를 사용하십시오

보안이 향상되면 SSH 키 쌍을 사용하여 기존 사용자 이름 및 비밀번호 인증 대신 인증 할 수 있습니다. SFTP 프로토콜을 사용하는 경우 공개 및 개인 키 파일은 인증을 위해 ssh2_auth_pubkey_file () 함수를 통해 지정됩니다.

Code example:

$ sftp_server = 'sftp.example.com';
$ sftp_username = 'username';
$ public_key_file = '/path/to/public_key.pub';
$ private_key_file = '/path/to/private_key';

// sftp 서버에 연결 $ conn_id = ssh2_connect ($ sftp_server);

// authentication $ auth_result = ssh2_auth_pubkey_file ($ conn_id, $ sftp_username, $ public_key_file, $ private_key_file);

if ($ conn_id && $ auth_result) {
    // sftp 작동 // ...
} 또 다른 {
    Echo 'SFTP 서버에 연결하지 못했습니다';
}

// sftp 연결을 닫습니다 ssh2_disconnect ($ conn_id);
  

결론

FTP 또는 SFTP 프로토콜을 결합하고 암호 또는 SSH 키와 같은 적절한 인증 방법을 사용하여 파일 전송의 보안을 크게 향상시킬 수 있습니다. 암호화 된 전송 및 인증 조치는 전송 중 파일의 데이터 유출을 효과적으로 방지하고 중요한 파일의 보안을 보장 할 수 있습니다.