د 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 عملیات وکاروي. د جوړوونکي انټرفیس د غوښتنلیک هغه فرعي ټولګي څخه مخنیوی کوي چې دنده یې د داخلي ساکټ ساحو بدلول وي.