PHP开发者检测是否支持TLS v1.2的代码是什么
如何检测PHP开发者是否支持TLS v1.2
使用PHP开发者检测代码,可以很容易的检查当前PHP开发者是否支持TLS v1.2。这段代码使用stream_get_wrappers函数来获取所有可用的streams,并返回一个数组。然后遍历该数组,检查每个stream的protocol_version属性是否为TLSv1.2。如果找到了一个支持TLSv1.2的stream,则返回true,否则返回false。
function checkForTLSv1_2()
{
$wrappers = stream_get_wrappers();
foreach ($wrappers as $wrapper) {
$stream_context = stream_context_create(array(
'ssl' => array(
'version_min' => 'tlsv1.2',
'version_max' => 'tlsv1.2'
)
));
$fp = @stream_socket_client(
'ssl://www.google.com:443',
$errno,
$errstr,
30,
STREAM_CLIENT_CONNECT,
$stream_context
);
if ($fp) {
// we have a connection, now check the protocol version
$meta_data = stream_get_meta_data($fp);
if ($meta_data['stream_metadata']['protocol_version'] === 'tlsv1.2') {
return true;
} else {
return false;
}
}
}
}
?>
相关文章