PHP.mk документација

Интернет домен: TCP, UDP, SSL и TLS

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

transports.inet.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека transports.inet.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
Интернет домен: TCP, UDP, SSL и TLS

Референца за `transports.inet.php` со подобрена типографија и навигација.

transports.inet.php

Интернет домен: TCP, UDP, SSL и TLS

ssl://, tls://, sslv2:// & sslv3://.

Забелешка: На sslv2:// and 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:// and tls:// транспортите (достапни само кога поддршката за openssl е компајлирана во PHP) се екстензии на tcp:// транспорт кој вклучува SSL шифрирање.

ssl:// ќе се обиде да преговара за сигурна SSL/TLS врска во зависност од можностите и преференциите на клиентот и оддалечениот домаќин. Актуелните протоколи што може да се користат се одредени од конфигурацијата на OpenSSL и од какви било опции обезбедени преку stream_context_create(), како на пр. ssl.crypto_method.

Протоколите SSLv2 и SSLv3 се застарени и несигурни. Нивната употреба е силно обесхрабрена и тие веќе не се овозможени по стандард во модерните верзии на PHP и OpenSSL.

Белешки од корисници 2 забелешки

christian на lantian точка eu
12 години пред
@pablo dot livardo  :  I think that the problem you found is caused by the difference between the client/server encryption methods used.

The 465 port is used for SMTPS, and the server starts the encryption immediately it receives your connection. So, your code will work.

The 587 port is used for Submission (MSA or Mail Submission Agent) which works like the port 25. The server accepts your connection and doesn't activate the encryption. If you want an encrypted connection on the port 587, you must connect on it without encryption, you must start to dialog with the server (with EHLO) and after that you must ask the server to start the encrypted connection using the STARTTLS command. The server starts the encryption and now you can start as well the encryption on your client. 

So, in few words, you can not use : 

<?php $fp = fsockopen("tls://mail.example.com", 587, $errno, $errstr);  ?>  

but you can use:

 <?php $fp = stream_socket_client("mail.example.com:587", $errno, $errstr); ?>  

and after you send the STARTTLS command, you can enable the crypto:

<?php stream_socket_enable_crypto($fp, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT); ?>

P.S. My previous note on this page was totally wrong, so I ask the php.net admin to remove it.

:)
stefan на example точка com
пред 15 години
Actually, PHP is very able to start with an unencrypted connection and then switch to an encrypted one - refer to http://php.net/stream_socket_enable_crypto .
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.