(PHP 5 >= 5.1.0, PHP 7, PHP 8)
stream_socket_enable_crypto — Bağlı bir soket üzerinde şifrelemeyi açıp kapatır
$akım,$etkin,$şifreleme_türü = null,$oturum_akımı = nullAkım üzerinde şifreleme yapılıp yapılmayacağını belirler.
Şifreleme ile ilgili ayarlar bir kere etkin olunca,
etkin bağımsız değişkenine true veya false belirterek
dinamik 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.
şifreleme_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_ANY_CLIENTSTREAM_CRYPTO_METHOD_TLS_CLIENTSTREAM_CRYPTO_METHOD_TLSv1_0_CLIENTSTREAM_CRYPTO_METHOD_TLSv1_1_CLIENTSTREAM_CRYPTO_METHOD_TLSv1_2_CLIENTSTREAM_CRYPTO_METHOD_TLSv1_3_CLIENT (PHP 7.4.0 ve sonrası)STREAM_CRYPTO_METHOD_SSLv2_SERVERSTREAM_CRYPTO_METHOD_SSLv3_SERVERSTREAM_CRYPTO_METHOD_SSLv23_SERVERSTREAM_CRYPTO_METHOD_ANY_SERVERSTREAM_CRYPTO_METHOD_TLS_SERVERSTREAM_CRYPTO_METHOD_TLSv1_0_SERVERSTREAM_CRYPTO_METHOD_TLSv1_1_SERVERSTREAM_CRYPTO_METHOD_TLSv1_2_SERVERSTREAM_CRYPTO_METHOD_TLSv1_3_SERVER (PHP 7.4.0 ve sonrası)
Atlanırsa, bunun yerine akımın SSL bağlamındaki
crypto_method bağlam seçeneği kullanılır.
oturum_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).
| Sürüm: | Açıklama |
|---|---|
| 8.0.0 |
oturum_akımı artık null olabiliyor.
|
Ö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: