php版https证书过期时间检测/并发送短信给相关技术人员(crontab定时脚本版)
2018-02-23 17:57
766 查看
<?php $phone = array('1xxxxxxxxxx','13900000xxx'); function sendSms($phone,$content,$tag = 2){ $post_data = array('userid'=56xx, 'account'=>'develop@xxx.com', 'password'=>'xxxxx', 'content'=>$content, 'mobile'=>$phone ); $url="http://sms.kingtto.com:9999/sms.aspx?action=send"; $o=''; foreach($post_data as $k=>$v){ //短信内容需要用urlencode编码,否则可能收到乱码 $o.="{$k}=".urlencode($v).'&'; } $post_data=substr($o,0,-1); $ch = curl_init(); curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //如果需要将结果直接返回到变量里,那加上这句。 $result = curl_exec($ch); $arr = json_decode(json_encode(simplexml_load_string($result)),true); $new = array(); foreach ($arr as $k => $v) { $new[$k] = strtolower($v); } unset($result,$arr); return $new; } $server_name = "baidu.com"; if(!empty($argv[1])) $server_name = $argv[1]; //获取定时脚本传参域名(不带https://)值 $server_name = str_ireplace(['http://','https://'],[],$server_name); $context = stream_context_create([ 'ssl' => [ 'capture_peer_cert' => true, 'capture_peer_cert_chain' => true, ], ]); $resource = stream_socket_client("ssl://$server_name:443", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context); $params = stream_context_get_params($resource); $cert = $params['options']['ssl']['peer_certificate']; $cert_info = openssl_x509_parse($cert); $remain = $cert_info['validTo_time_t'] - time(); $date_num = (int)($remain/86400); if ($remain < 0) { $str = "certification expired\n"; } else { $str = "certification will be expired in {$date_num} days\n"; } $msg = "【xxxx】:{$server_name},https证书将于{$date_num}天后过期"; if($date_num<20){//证书过期时间小于20天时发送短信通知,此处用于定时脚本判断使用 foreach($phone as $v){ $res = sendSms($v,$msg); } } ?>
相关文章推荐
- 如何使用Linux的Crontab定时执行PHP脚本的方法
- 如何使用Linux的Crontab定时执行PHP脚本的方法
- shell脚本——检测SSL证书过期时间
- 在centos下使用crontab执行PHP定时脚本
- crontab 定时执行php脚本文件
- 如何使用Linux的Crontab定时执行PHP脚本的方法
- 在linux下定时执行PHP脚本(定时执行crontab使用方法详解)
- 使用PHP免费发送定时短信的实例
- 使用PHP免费发送定时短信
- 在linux下利用crontab定时执行PHP脚本
- Crontab定时任务之执行PHP脚本
- 如何使用Linux的Crontab定时执行PHP脚本的方法
- 如何检测当前是否正在使用HTTPS协议【发送HTTPS这个头给php-fpm】
- 使用Linux的Crontab定时执行PHP脚本
- crontab定时执行php脚本备份数据库
- Linux的crontab定时任务批量执行PHP脚本
- Linux的Crontab定时执行PHP脚本的方法
- linux中使用crontab定时执行程序(PHP脚本.sh等等各种)
- 如何使用Linux的Crontab定时执行PHP脚本的方法
- postfix sh 配合前面编写的savePostfixLog.sh定时检测信件发送完成立刻调用php分析错误日志