(PHP 5 >= 5.1.0, PHP 7)
stream_socket_enable_crypto — Bağlı bir soket üzerinde şifrelemeyi açıp kapatır
$akım
, bool $etkin
[, int $şifre_türü
[, resource $oturum_akımı
]] )Akım üzerinde şifreleme yapılıp yapılmayacağını belirler.
Şifreleme ile ilgili ayarlar bir kere etkin olunca,
etkin değiştirgesine TRUE veya FALSE belirterek
devingen olarak şifrelemenin yapılıp yapılmayacağını belirleyebilirsiniz.
akımAkım özkaynağı.
etkin
TRUE belirtilirse akım üzerinde şifreleme yapılır, FALSE
belirtilirse yapılmaz.
şifre_türüAkım üzerinde etkin kılınacak şifreleme yöntemini belirler. Geçerli yöntemler:
STREAM_CRYPTO_METHOD_SSLv2_CLIENTSTREAM_CRYPTO_METHOD_SSLv3_CLIENTSTREAM_CRYPTO_METHOD_SSLv23_CLIENTSTREAM_CRYPTO_METHOD_TLS_CLIENTSTREAM_CRYPTO_METHOD_SSLv2_SERVERSTREAM_CRYPTO_METHOD_SSLv3_SERVERSTREAM_CRYPTO_METHOD_SSLv23_SERVERSTREAM_CRYPTO_METHOD_TLS_SERVERoturum_akımı
oturum_akımı akımındaki ayarlarla akımı tohumlar.
Başarı durumunda TRUE, uzlaşılamazsa FALSE, yeterli veri yoksa ve
tekrar denemeniz gerekiyorsa 0 döner (sadece
engellenmeyen soketlerde).
Örnek 1 - stream_socket_enable_crypto() örneği
<?php
$fp = stream_socket_client("tcp://myproto.example.com:31337", $errno, $errstr, 30);
if (!$fp) {
die("Bağlantı kurulamadı: $errstr ($errno)");
}
/* Oturum açma aşaması için şifrelemeyi etkin kılalım */
stream_socket_enable_crypto($fp, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT);
fwrite($fp, "USER god\r\n");
fwrite($fp, "PASS secret\r\n");
/* Artık şifrelemeye ihtiyaç kalmadı */
stream_socket_enable_crypto($fp, false);
while ($motd = fgets($fp)) {
echo $motd;
}
fclose($fp);
?>
Yukarıdaki örnek şuna benzer bir çıktı üretir: