Исходящие запросы теперь проверяют сертификаты TLS
- Все исходящие HTTPS-запросы сайта — сервер скинов, определение местоположения по IP, SMS-шлюз, почтовый сервер, вход через QQ и кнопки проверки в админке — раньше отправлялись с отключённой проверкой сертификатов, поэтому любой на пути мог ответить самоподписанным сертификатом и перехватить запрос целиком. Теперь все они проверяются как положено — по набору корневых сертификатов, который поставляется вместе с сайтом (набор Mozilla, 121 корень).
- Важнее всего была почта: без проверки человек на пути мог получить и пароль от почтового ящика, и полный текст всех писем. Сертификат ящика 126 действителен, так что на отправку это не влияет.
- Есть и цена: если сертификат на той стороне действительно сломан, запрос теперь падает с ошибкой, а не подключается молча. Кнопки проверки в админке выделяют этот случай отдельно — «сертификат не прошёл проверку». А если набор корневых сертификатов когда-нибудь пропадёт, код всё равно откажется возвращаться к работе без проверки — он просто упадёт с более понятной ошибкой.
- Заодно исправлена старая мелочь: у записей v1.9.6 и mod 1.6.0 в журнале обновлений заголовком служило слово «title» — у них никогда не было ничего, кроме текста, а страница выводит заголовок безусловно, поэтому отсутствующий ключ откатывался к последнему сегменту имени. Теперь заголовки заполнены