6

ログインの詳細がphpで有効かどうかを確認するためにsftp経由でリモートサーバーに接続するにはどうすればよいですか...

私はApacheサーバーを使用しています...私の使用法は、ユーザーが入力したログインの詳細が正しいかどうかを確認することです。

4

4 に答える 4

4

Apache サーバーがインストールされていますか? 例: xampp?

その場合は、FTP 機能を使用しています。

<?php
$connection = ssh2_connect('ftp.server.com', 22); //port 22 for Shell connections
ssh2_auth_password($connection, 'username', 'password');

$shell_ftp = ssh2_sftp($connection);

$connectionStream = fopen('ssh2.sftp://'.$shell_ftp.'/path/to/fileorfolder', 'r');

if(!connectionStream)
{
    echo "Could not connect to the server, please try agian";
}
else
{
    echo "Successfully logged in.";
}
?>

基本的なシェル FTP 接続では、ファイルまたはフォルダーへの絶対パスを定義する必要があります。

于 2010-12-07T12:10:13.290 に答える
3

純粋な PHP SFTP クライアント である phpseclibを使用すると、より簡単に作業できる場合があります。次に例を示します。

<?php
include('Net/SFTP.php');

$sftp = new Net_SFTP('www.domain.tld');
if (!$sftp->login('username', 'password')) {
    exit('Login Failed');
}

echo $sftp->pwd() . "\r\n";
$sftp->put('filename.ext', 'hello, world!');
print_r($sftp->nlist());
?>

libssh2 の問題点は、誰もが推奨しているように、あまり広く展開されていないこと、API の信頼性が最も高くないこと、信頼性が低いこと、サポートが不十分であることなどです。

于 2010-12-07T15:33:29.330 に答える
2

これは役に立ちますか?

<?php
$connection = ssh2_connect('ftp.server.com', 22); 
if (ssh2_auth_password($connection, 'username', 'password')) 
    echo "Authentication success";
else 
    echo "Authentication failure";
?>
于 2010-12-07T12:59:01.677 に答える
0

複数の提案から小さなライブラリを作成しました。励ます

GitHub の idct sftp クライアント

于 2014-07-21T06:13:45.357 に答える