Π‘ΠΎΠΊΠ΅ΡΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-Π΄ΠΎΠΌΠ΅Π½Π°: TCP, UDP, SSL ΠΈ TLS
Π’ΡΠ°Π½ΡΠΏΠΎΡΡΡ Π΄Π»Ρ ΡΠΎΠΊΠ΅ΡΠΎΠ² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-Π΄ΠΎΠΌΠ΅Π½Π°: ssl://, tls://,
sslv2:// ΠΈ sslv3://.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
Π’ΡΠ°Π½ΡΠΏΠΎΡΡΡ sslv2:// ΠΈ sslv3://
ΡΡΡΠ°ΡΠ΅Π»ΠΈ. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ ΡΡΠΈΠΌ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ°ΠΌ ΡΠΎΡ
ΡΠ°Π½ΠΈΠ»ΠΈ
ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅Π»ΡΡ
ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
Π€ΡΠ½ΠΊΡΠΈΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ±Π΅ΡΡΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡ tcp://, Π΅ΡΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ Π½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ.
127.0.0.1
fe80::1
www.example.com
tcp://127.0.0.1
tcp://fe80::1
tcp://www.example.com
udp://www.example.com
ssl://www.example.com
tls://www.example.com
ΠΠ°ΡΡΠ΄Ρ Ρ ΡΠ΅Π»Π΅Π²ΡΠΌ Π°Π΄ΡΠ΅ΡΠΎΠΌ ΡΠΎΠΊΠ΅ΡΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-Π΄ΠΎΠΌΠ΅Π½Π° ΠΎΠΆΠΈΠ΄Π°ΡΡ Π½ΠΎΠΌΠ΅Ρ ΠΏΠΎΡΡΠ°.
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ fsockopen() ΠΏΠΎΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΡΠΎΡΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ
ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ URL-Π°Π΄ΡΠ΅ΡΠ° ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ°. ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅
Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ stream_socket_client() ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ,
ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌΠΈ URL-Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ, Π½ΠΎΠΌΠ΅Ρ ΠΏΠΎΡΡΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΡΡΡΠΈΠΊΡ β
ΡΠ΅ΡΠ΅Π· Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠ³ΠΎ URL-Π°Π΄ΡΠ΅ΡΠ°.
tcp://127.0.0.1:80
tcp://[fe80::1]:80
tcp://www.example.com:80
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
Π§ΠΈΡΠ»ΠΎΠ²ΡΠ΅ IPv6-Π°Π΄ΡΠ΅ΡΠ° Ρ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΏΠΎΡΡΠΎΠ²
Π₯ΠΎΡΡ Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ IPv4-Π°Π΄ΡΠ΅ΡΠ° ΠΈ ΠΈΠΌΡ Ρ
ΠΎΡΡΠ°
Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠΌΠ΅ΡΠ° ΠΏΠΎΡΡΠ° ΠΏΠΎΡΠ»Π΅
Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΡ, IPv6-Π°Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΠΌΠΈΠ»ΠΈ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ:
[fe80::1]. ΠΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡ
Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΡ Π² IPv6-Π°Π΄ΡΠ΅ΡΠ΅ ΠΈ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ΅Ρ Π½ΠΎΠΌΠ΅Ρ ΠΏΠΎΡΡΠ°.
Π’ΡΠ°Π½ΡΠΏΠΎΡΡΡ ssl:// ΠΈ tls://,
ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ PHP ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π»ΠΈ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ openssl, β
ΡΠ°ΡΡΠΈΡΡΡΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡ tcp:// Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ SSL-ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ.
Π’ΡΠ°Π½ΡΠΏΠΎΡΡ ssl:// ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ΅ SSL/TLS-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅
Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΈ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΌΡ Ρ
ΠΎΡΡΡ.
ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ OpenSSL ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ
ΡΡΠ½ΠΊΡΠΈΠΈ stream_context_create()
Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ ssl.crypto_method.
ΠΡΠΎΡΠΎΠΊΠΎΠ»Ρ SSLv2 ΠΈ SSLv3 ΡΡΡΠ°ΡΠ΅Π»ΠΈ ΠΈ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Ρ.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ PHP ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ OpenSSL Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΡΠΈΡ
Π²Π΅ΡΡΠΈΠΉ
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡΡ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠΌ ΠΏΠΎ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌ.