Обновление пароля z/OS с помощью модуля PHP cURLPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Обновление пароля z/OS с помощью модуля PHP cURL

Сообщение Anonymous »

Я пытаюсь изменить пароль на мэйнфрейме z/OS, к которому подключаюсь по FTPS. Работаю с устаревшей кодовой базой и пытаюсь избавиться от exec-вызовов cURL. Вы заметите, что все сертификаты пропускаются при старом вызове...
$exec_string = "CURL -q -v -k -S --ftp-ssl-reqd \"ftp://" . $hold_user['dm_ftphost'] . "/\" --user " . $hold_user['dm_ftpuser'] . ":" . $hold_user['dm_ftppass'] . "/" . $new_pass . "/" . $new_pass . " -Q \"cdup\"";

Мне не удалось перевести это в PHP-модуль cURL. Я пробовал разные комбинации CURLOPT_USER, CURLOPT_PASS и CURLOPT_USERPWD.
В качестве примера того, что я пробовал...
public function updatePassword($newPass) {
$options = [
CURLOPT_URL => "ftp://" . $this->credentials->getField(Ftp_Credentials::HOST),
CURLOPT_USERPWD => $this->credentials->getField(Ftp_Credentials::USER, ret_aes_pass()) . ":" . $this->credentials->getField(Ftp_Credentials::PASS, ret_aes_pass())
. "/{$newPass}/{$newPass}"
];
return $this->returnSetResult($this->curl($options));
}

Я знаю, что мне нужно обновить свой пароль при входе в систему, поэтому я могу использовать несколько вариантов.
Ниже приведены варианты для каждого соединения cURL, которое я делаю, на случай, если одно из них мешает мне установить новый пароль.
(Я закомментировал CURLOPT_USERNAME и CURLOPT_PASSWORD, когда тестировал вышеуказанную функцию)
$options += [
CURLOPT_FORBID_REUSE => true,
CURLOPT_FTP_USE_EPSV => false,
CURLOPT_FTP_SKIP_PASV_IP => true,
CURLOPT_USERNAME => $this->credentials->getField(Ftp_Credentials::USER, AES_KEY),
CURLOPT_PASSWORD => $this->credentials->getField(Ftp_Credentials::PASS, AES_KEY),
CURLOPT_PORT => $this->credentials->getField(Ftp_Credentials::PORT),
CURLOPT_VERBOSE => true,
CURLOPT_FAILONERROR => true,
//CURLOPT_FOLLOWLOCATION => true,
CURLOPT_TIMEOUT => 15,
// SSL options for secure connection
CURLOPT_FTP_SSL => CURLFTPSSL_ALL, // Use SSL/TLS for FTP
CURLOPT_FTPSSLAUTH => CURLFTPAUTH_TLS, // Authenticate using TLS
CURLOPT_SSLVERSION => CURL_SSLVERSION_TLSv1_2, // Use TLS 1.2 explicitly
CURLOPT_SSL_VERIFYPEER => true, // Verify the peer's SSL certificate
CURLOPT_SSL_VERIFYHOST => self::SSL_VERIFY_HOST_ENABLED, // Verify the host's name matches the SSL certificate
CURLOPT_CAINFO => PATH_CA_BUNDLE // Path to your CA certificate bundle
];


Подробнее здесь: https://stackoverflow.com/questions/795 ... url-module
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»