gpt4 book ai didi

php - 使用 ftp_connect 功能验证 TLS/SSL

转载 作者:行者123 更新时间:2023-12-04 22:41:18 25 4
gpt4 key购买 nike

根据RFC 2228 AUTH是一个 FTP 命令,可以与一种身份验证机制(TLSSSL)一起使用,以保护数据 channel 和控制 channel 。
我想知道是否可以将此命令与 ftp_connect 的非安全连接(常规 FTP)一起使用函数,像这样:

$conn = ftp_connect('hostname');

if (is_ressoure($conn)) {
$command = ftp_raw($conn, 'AUTH TLS');
$responseCode = (int) substr($command[0], 0, 3);

if ($responseCode === 234) {
// AUTH TLS success
login(); // secured

} else { // if TLS rejected try SSL

$command = ftp_raw($conn, 'AUTH SSL');
$responseCode = (int) substr($command[0], 0, 3);

if ($responseCode === 234) {
// SSL authentication success
login(); // secured

} else {
// Cannot secure the data channel and command channel
die();
}
}
}
我知道 AUTH ftp_ssl_connect 的显式 FTP/SSL 连接一起使用的命令,我很困惑,我想知道这个命令对于常规的 FTP 连接是否没用?
提前致谢!

最佳答案

AUTH TLS/SSL将连接变为加密。如果你用一个普通的 ftp_connect连接,连接将停止工作。服务器将期待加密的命令(并将发送加密的响应),客户端(PHP FTP 模块)将继续发送未加密的命令(并将期待未加密的响应)。他们不会互相理解。实际上它甚至永远不会达到那个,因为在回复 AUTH 之后,服务器将启动 TLS 握手,这将立即失败。

关于php - 使用 ftp_connect 功能验证 TLS/SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61626484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com