PHP stream_socket_enable_crypto() 函数启用或禁用流加密。建立加密设置后,可以通过在 enable 参数中传递 true 或 false 来动态打开和关闭加密。
语法
stream_socket_enable_crypto(stream, enable, crypto_type, session_stream)
参数
stream | 必需。 指定流资源。 |
enable | 必需。 指定 true/false 以启用/禁用流上的加密。 |
crypto_type | 可选。 在流上设置加密。有效方法为
|
session_stream | 可选。 使用 session_stream 中的设置为流提供种子。 |
返回值
成功返回 true,如果协商失败则返回 false,如果没有足够的数据则返回 0,您应该重试(仅适用于非阻塞套接字)。
示例:stream_socket_enable_crypto() 示例
下面的示例显示了stream_socket_enable_crypto()函数的用法。
<?php
$fp = stream_socket_client("tcp://myproto.example.com:31337", $errno, $errstr, 30);
if (!$fp) {
die("Unable to connect: $errstr ($errno)");
}
//开启登录阶段加密
stream_socket_enable_crypto($fp, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT);
fwrite($fp, "USER god\r\n");
fwrite($fp, "PASS secret\r\n");
//关闭其余部分的加密
stream_socket_enable_crypto($fp, false);
while ($motd = fgets($fp)) {
echo $motd;
}
fclose($fp);
?>