相关疑难解决方法(0)

是否可以使用流上下文在PHP下使用FTPS?

我了解到在PHP for Windows下使用ftps('ftp_ssl_connect()')很难.您被要求进入构建自己的二进制文件以包含Open SSL的漫长旅程...我发现有关phpseclib的建议作为替代(但是获得openssl.cnf支持对等验证的权利对我来说也很难......) .

然后我点击了这篇文章,其令人愉快的简单示例包括工作对等验证(以避免中间人攻击)引起我对流的注意:

$uri = 'https://www.bankofamerica.com/';
$ctx = stream_context_create(['ssl' => [
    'verify_peer' => true, // important
    'cafile' => '/hard/path/to/cacert.pem',
    'CN_match' => 'www.bankofamerica.com'
]]);
$html = file_get_contents($uri, FALSE, $ctx); // we are good
Run Code Online (Sandbox Code Playgroud)

但是,这对ftp连接有用吗?我还可以使用经过对等验证的流上下文来打开ftps流吗? php手册提示,ssl上下文选项也适用于sftp,但缺乏进一步的指导.

所以我疯狂地猜测:

$ctx = stream_context_create(['ftps' => [
    'verify_peer' => true,
    'cafile' => 'd:/sandbox/mycerts.pem',
    'CN_match' => 'ftp-12345678.mywebhoster.com'
]]);
Run Code Online (Sandbox Code Playgroud)

对?错误?用户+密码现在作为选项?然后什么?用户/密码呢?还是以后?我无能为力......

  • 如何扫描远程ftp目录内容以开始?
  • 如何从ftp服务器上传或下载文件?

这有甚么可能吗?(几行代码将非常有用....)或者流是否仅适用于单一文件访问?

更新:Curl可能会做我想要的(包括对等验证和目录lsiting),如本SO答案所示.本周晚些时候会检查......

php security ftp ssl ftps

6
推荐指数
1
解决办法
3272
查看次数

标签 统计

ftp ×1

ftps ×1

php ×1

security ×1

ssl ×1