【问题标题】:PHP sftp + fopen compared to ssh2_scp_sendPHP sftp + fopen 与 ssh2_scp_send 相比
【发布时间】:2013-04-18 20:47:58
【问题描述】:

如果使用 PHP sftp 像 shown heressh2_scp_send 那样打开文件有什么真正的区别,我想知道我计划在每个 php 会话上上传多个文件,并且不想花太多时间上传文件。如果有人知道这些函数是如何在 PHP 中实现的,我会很高兴知道这样我就可以选择正确的了。

再次感谢。

【问题讨论】:

    标签: php sftp scp


    【解决方案1】:

    ssh2_sftp() 用于现有连接,然后您使用fopen() 然而,这也被大多数人认为是“不安全的”。这就是ssh2_scp_recv() 使用基于 BSD RCP 协议的安全副本的地方。 SCP 使用 Secure Shell (SSH) 进行数据传输,并使用相同的身份验证机制,从而确保传输中数据的真实性和机密性。客户端可以将文件发送(上传)到服务器,可选地包括它们的基本属性(权限、时间戳)。客户端还可以从服务器请求文件或目录(下载)。 SCP 默认通过 TCP 端口 22 运行。与 RCP 一样,没有定义协议细节的 RFC。

    http://www.php.net/manual/en/function.ssh2-scp-recv.php

    http://en.wikipedia.org/wiki/Secure_copy

    【讨论】:

    • 您认为使用ssh2_sftp + fopen 有什么不安全之处?另请注意,几乎所有关于 SCP 的文章都同样适用于 SFTP(除了 SFTP 显然不受 RCP 启发)。
    【解决方案2】:

    SFTP 和 SCP 是不同的协议。两者都通过 SSH 运行。

    SCP 只能复制(上传/下载)文件。它不能执行任何其他操作,例如列出目录内容、删除文件等。

    SFTP 是一个成熟的远程文件系统协议。

    一般而言,SCP 可能会更快,因为它能够更好地利用 SSH 虚拟连接通道。但两者都值得测试。

    另请注意,SCP 通常仅对 *nix SSH 服务器有效。 SFTP 更通用。

    有关 SFTP + SCP 的详细信息,请参阅:
    https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol
    https://en.wikipedia.org/wiki/Secure_copy_protocol

    【讨论】:

      猜你喜欢
      • 2011-05-27
      • 1970-01-01
      • 1970-01-01
      • 2013-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-05
      • 2010-11-21
      相关资源
      最近更新 更多