检查公司网站能否正常打开和检查SSL证书是否过期的重要性不容忽视。公司网站众多, 人工一个个去检查太费时费力, 所以用定时任务跑代码去检查;
1 检查公司网站能否正常打开
对于一个企业来说,网站是其在线形象和客户联系企业的主要途径。如果网站无法正常打开,不仅会影响企业的形象,还会导致潜在客户的流失。因此,定期检查公司网站能否正常打开是非常重要的。
如果网站无法正常打开,可能是由于多种原因引起的,例如服务器故障、网络问题、代码错误等。通过检查网站的状态和日志,可以确定问题的原因并采取相应的解决措施,以确保网站的正常运行。
2 检查SSL证书是否过期
SSL证书是用于加密网站数据传输的一种安全认证,可保护客户提交的个人信息。如果SSL证书过期,网站将不再受到保护,客户和网站之间的数据传输将不再安全。
如果SSL证书过期,网站可能会显示不安全警告或被阻止访问。这将对网站的信任度和用户体验产生负面影响。此外,如果网站的数据传输不受保护,黑客可能会窃取敏感信息并利用它们进行恶意活动。
因此,定期检查SSL证书是否过期是非常重要的。如果SSL证书即将过期,需要及时更新证书以确保网站的安全性。同时,还应备份旧的SSL证书以备不时之需。
代码如下:
function urlIsOpen($url){
$data = @get_headers($url, true);
if($data && isset($data[0]) && $data[0]='HTTP/1.1 200 OK') return true;
else return false;
}
function hostSsl($url){
$endTime = '';
$host = parse_url($url, PHP_URL_HOST);
$context = stream_context_create(['ssl' => [
'capture_peer_cert' => true,
'capture_peer_cert_chain' => true,
],
]);
$client = @stream_socket_client("ssl://".$host.":443", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context);
if(is_resource($client)){
$params = stream_context_get_params($client);
$cert_info = openssl_x509_parse($params['options']['ssl']['peer_certificate']);
$endTime = $cert_info['validTo_time_t']; // 结束时间
// validFrom_time_t 开始时间
}
return $endTime;
}
// 测试
$url = 'https://cn.bing.com/search?q=1234566';
$url = 'http://www.baidu9999.com/';
echo $url.'<br>';
if(urlIsOpen($url)) echo '可以正常打开';
else echo '打不开';
echo '<br>';
if($endTime = hostSsl($url)) echo 'ssl证书正常, 到期时间: '. date("Y-m-d H:i:s", $endTime);
else echo 'ssl证书异常, 请检查';