Отслеживание окончания доменов и SSL-сертификатов

При работе с множеством сайтов возникает необходимость в постоянном контроле срока окончания доменов и особенно сертификатов т.к. в основном используются 90-дневненые «Let’s Encrypt», и к тому же на многих хостингах нет автоматического продления.

Для этих целей был написан PHP-скрипт для мониторинга (скачать с GitHub), который помещаются в родительскую категорию сайта и состоит из следующих файлов:

monitoring/
├── config.php
├── cron.php
├── chache.json
├── calendar.php

Далее подробнее о каждом файле:

27.01.2021, обновлено 03.02.2021
2989

Комментарии 2

Юрий Юрий
13 июля 2021 в 10:49
0
Приветствую.
Для зоны *.kz есть альтернативы whois.nic.kz? С этим не определяет дату.
Igor Himchenko Igor Himchenko
11 августа 2021 в 17:18
0
Добрый день!
При проверки доменов не возвращает дату!
Notice: Undefined variable: server in /usr/share/zabbix/cron.php on line 22
Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: Имя или служба не известны in /usr/share/zabbix/cron.php on line 22
Warning: fsockopen(): unable to connect to :43 (php_network_getaddresses: getaddrinfo failed: Имя или служба не известны) in /usr/share/zabbix/cron.php on line 22
---- cron.php -------------------------
switch ($zone) {
case 'com': $server = 'whois.crsnic.net'; break;
case 'net': $server = 'whois.crsnic.net'; break;
case 'org': $server = 'whois.crsnic.net'; break;
case 'com.ua': $server = 'whois.crsnic.net'; break;
case 'gov.ua': $server = 'whois.crsnic.net'; break;
case 'org.ua': $server = 'whois.crsnic.net'; break;
}

$socket = fsockopen($server, 43);
if ($socket) {
fputs($socket, $domain . PHP_EOL);
while (!feof($socket)) {
$res = fgets($socket, 128);
if (mb_stripos($res, 'paid-till:') !== false) {
$date = explode('paid-till:', $res);
$date = strtotime(trim($date[1]));
break;
}
if (mb_stripos($res, 'Registry Expiry Date:') !== false) {
$date = explode('Registry Expiry Date:', $res);
$date = strtotime(trim($date[1]));
break;
}
}
fclose($socket);
}

, чтобы добавить комментарий.

Другие публикации

Список серверов Whois
В данной таблице собраны все WHOIS-серверы (43-й порт), которые предоставляют информацию о доменах.
1874
0
Cron – выполнение заданий по расписанию
Cron — UNIX-программа, которая используются для периодического выполнения заданий в определённое время. Расписание и...
5482
+1
Работа с JSON в PHP
JSON (JavaScript Object Notation) – текстовый формат обмена данными, основанный на JavaScript, который представляет собой набор пар {ключ: значение}. Значение может быть массивом, числом, строкой и...
53285
+10
Отправка писем через SMTP в PHPMailer
В последнее время письма отправляемые с хостингов через функции mail() и mb_send_mail() часто попадают в спам или...
82614
+14
Адреса серверов POP3, IMAP и SMTP
Список почтовых серверов популярных хостингов и бесплатных сервисов для настройки почтовых клиентов и скриптов отправки...
34839
+8
Настройки почты для домена Mail.ru, Яндекс, Gmail
MX-запись – указывает сервер, принимающий почту для вашего домена.
3364
-1