stream_socket_enable_crypto

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

stream_socket_enable_cryptoBağlı bir soket üzerinde şifrelemeyi açıp kapatır

Açıklama

stream_socket_enable_crypto(
    resource$akım,
    bool$etkin,
    ?int$şifreleme_türü = null,
    ?resource$oturum_akımı = null
): int|bool

Akı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.

Bağımsız Değişkenler

akım

Akı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_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv3_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv23_CLIENT
  • STREAM_CRYPTO_METHOD_ANY_CLIENT
  • STREAM_CRYPTO_METHOD_TLS_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT (PHP 7.4.0 ve sonrası)
  • STREAM_CRYPTO_METHOD_SSLv2_SERVER
  • STREAM_CRYPTO_METHOD_SSLv3_SERVER
  • STREAM_CRYPTO_METHOD_SSLv23_SERVER
  • STREAM_CRYPTO_METHOD_ANY_SERVER
  • STREAM_CRYPTO_METHOD_TLS_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_0_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_1_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_2_SERVER
  • STREAM_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.

Dönen Değerler

Başarı durumunda true, uzlaşılamazsa false, yeterli veri yoksa ve tekrar denemeniz gerekiyorsa 0 döner (sadece engellenmeyen soketlerde).

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0oturum_akımı artık null olabiliyor.

Örnekler

Ö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)");
}


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);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

To Top