現在の位置: ホーム> 最新記事一覧> PHPファイル転送:FTPとSFTPを使用してファイルセキュリティを確保する方法

PHPファイル転送:FTPとSFTPを使用してファイルセキュリティを確保する方法

M66 2025-06-20

導入

インターネット時代では、ファイル転送需要が高まっており、FTP(ファイル転送プロトコル)はまだ広く使用されています。ただし、従来のFTPプロトコルには、プレーンテキスト送信や弱いID認証など、セキュリティリスクがあります。この記事では、PHPを使用してFTPとSFTPプロトコルを組み合わせてファイル転送のセキュリティを改善する方法を紹介します。

1。FTPSプロトコルを使用します

FTPS(SSL/TLSを介したFTP)は、FTPとSSL/TLS暗号化プロトコルを組み合わせて、ファイル転送のセキュリティを効果的に保護します。 FTPS接続は、PHPのFTP_SSL_Connect()関数を介して簡単に実装できます。

コード例:

$ ftp_server = 'ftp.example.com';
$ ftp_username = 'username';
$ ftp_password = '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プロトコルを使用します

SFTP(SSHファイル転送プロトコル)は、SSH暗号化された通信プロトコルに基づいており、より強力なセキュリティを提供します。 PHPでは、SSH2_Connect()関数を使用してSFTPサーバーに接続し、SSH2_AUTH_PASSWORD()を介して認証できます。

コード例:

$ sftp_server = 'sftp.example.com';
$ sftp_username = 'username';
$ sftp_password = 'password';

// sftpサーバーに接続$ conn_id = ssh2_connect($ sftp_server);

//認証$ 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()関数を介して指定されます。

コード例:

$ 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);

//認証$ 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キーなどの適切な認証方法を使用することにより、大幅に改善できます。暗号化された送信および認証測定は、送信中のファイルのデータ漏れを効果的に防止し、重要なファイルのセキュリティを確保することができます。