phpseclib 3 SFTP ئورنىتىلغان ۋاكالەتچى ئېقىمى ئارقىلىق
phpseclib 3 نىڭ ئاممىۋى ئېقىم قۇرغۇچىسىنى ئىشلىتىپ SFTP نى ئورنىتىلغان HTTP ياكى SOCKS تونېلى ئارقىلىق باشلاڭ.
phpseclib 3 ئوچۇق ئېقىم مەنبەسىنى قوبۇل قىلىدۇ، ئۇنىڭ SSH/SFTP قۇرغۇچىسى ئادەتتە ئاساسىي ئاپپارات نامىنى ئالىدۇ. بۇ ۋاكالەتچى ئارقىلىق ماڭىۋاتقان ئۇلىنىش ئۈچۈن ئاممىۋى تاپشۇرۇش نۇقتىسى.
ئالدى بىلەن، ئۇلىغۇچ ھەقىقىي SFTP مۇلازىمېتىرى ۋە ئۇنىڭ پورتىغا HTTP CONNECT ياكى SOCKS تونېلىنى ئورنىتىدۇ. ئاندىن ئورنىتىلغان ئېقىمنى SFTP غا يەتكۈزۈڭ:
use phpseclib3\Net\SFTP;
$sftp = new SFTP($tunnel);
$actualHostKey = $sftp->getServerPublicHostKey();
if ($actualHostKey === false
|| !hash_equals($expectedHostKey, $actualHostKey)) {
throw new RuntimeException('Unexpected SFTP server key');
}
if (!$sftp->login($sftpUser, $sftpCredential)) {
throw new RuntimeException('SFTP login failed');
}
$tunnel ئاللىقاچان ئۇلانغان ئېقىم، ۋاكالەتچى URL ئەمەس. $expectedHostKey مۇلازىمېتىرنىڭ ئىشەنچلىك ئاممىۋى ئاچقۇچ تىزمىسى بولۇپ، ئەپنىڭ تەييارلاش جەريانى ئارقىلىق ئېلىنغان، phpseclib قايتۇرىدىغان فورماتتا. كىرىش ئۇچۇرى قوللايدىغان پارول ياكى ئەپ تاللىغان يۈكلەنگەن ئاچقۇچ ئوبيېكتى بولۇشى مۇمكىن.
ئۇلىغۇچنىڭ نېمە قايتۇرىدىغانلىقىنى ئېنىقلاڭ
ئېقىم ئاللىقاچان SFTP مۇلازىمېتىرىغا يېتەكلەيدىغان بولۇشى كېرەك. HTTP CONNECT ئۈچۈن بۇ ۋاكالەتچىنىڭ مەنزىلنى قوبۇل قىلغانلىقى ۋە تولۇق ۋاكالەتچى ئىنكاس باشلىرى ئىشلىتىلگەنلىكىنى بىلدۈرىدۇ. SOCKS ئۈچۈن مۇناسىۋەتلىك سۆھبەت مۇۋەپپەقىيەتلىك تاماملانغان بولۇشى كېرەك. بۇ چەكتىن ئېشىپ ئوقۇلغان ھەرقانداق SSH بايتى SSH ئىجراسى ئۈچۈن ئىشلەتكىلى بولۇشى كېرەك.
شۇ چاغدا phpseclib SSH ئالماشتۇرۇشنى ئېلىپ بارىدۇ ۋە ئوخشاش ئېقىمدا SFTP نى باشلايدۇ. ئەپ ئادەتتىكى SFTP مەشغۇلاتلىرىنى ئىشلىتەلەيدۇ. قۇرغۇچى كۆرۈنمە يۈزى ئىچكى سوكېت مەيدانلىرىنى ئالماشتۇرۇش ۋەزىپىسى بار ئەپ تارماق سىنىپىدىن ساقلىنىدۇ.