stream_socket_enable_crypto

(PHP 5 >= 5.1.0)

stream_socket_enable_cryptoВключает или отключает шифрование на уже подсоединённом сокете

Описание

mixed stream_socket_enable_crypto ( resource $stream , bool $enable [, int $crypto_type [, resource $session_stream ]] )

Включает или отключает шифрование на потоке.

После настройки шифрования, криптография может быть включена или выключена динамически при помощи передачи значения TRUE или FALSE параметру enable.

Список параметров

stream

Потоковый ресурс.

enable

Включить/отключить криптографию на потоке.

crypto_type

Включить шифрование на потоке. Допустимые методы

  • STREAM_CRYPTO_METHOD_SSLv2_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv3_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv23_CLIENT
  • STREAM_CRYPTO_METHOD_TLS_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv2_SERVER
  • STREAM_CRYPTO_METHOD_SSLv3_SERVER
  • STREAM_CRYPTO_METHOD_SSLv23_SERVER
  • STREAM_CRYPTO_METHOD_TLS_SERVER

session_stream

Использовать в потоке настройки из session_stream.

Возвращаемые значения

Возвращает TRUE в случае успеха, FALSE, если не удалось установить шифрование или 0, если недостаточно данных и вы должны попытаться ещё раз (только для неблокирующих сокетов).

Примеры

Пример #1 Пример использования stream_socket_enable_crypto()

<?php
$fp 
stream_socket_client("tcp://myproto.example.com:31337"$errno$errstr30);
if (!
$fp) {
    die(
"Не могу соединиться: $errstr ($errno)");
}

/* Включить шифрование для этапа входа в систему */
stream_socket_enable_crypto($fptrueSTREAM_CRYPTO_METHOD_SSLv23_CLIENT);
fwrite($fp"USER бог\r\n");
fwrite($fp"PASS секрет\r\n");

/* Отключить шифрование для всего остального */
stream_socket_enable_crypto($fpfalse);

while (
$motd fgets($fp)) {
    echo 
$motd;
}

fclose($fp);
?>

Результатом выполнения данного примера будет что-то подобное:


Участник рейтинга Тэглайн 2010