Перевод чата с http на https

mychatik

Support
Команда форума
Регистрация
26.05.15
Сообщения
484
Реакции
398
Баллы
63
Веб-сайт
mychatik.ru
В последнее время все активно взялись переводить сайты на защищённый протокол. Тем более, что почти все хостинги предлагают бесплатный SSL сертификат Let's Encrypt.

Вроде бы во всём - одни плюсы.
Лучше ранжирование в поисковиках, зелёный замочек безопасности - тоже добавляет доверия к сайту. Ну и самое главное - не будет предупреждающих надписей браузеров при вводе логина и пароля на сайте.
Уже и сам подумывал перевести свой чат на https.

Но тут мне попался пост на нулледе:
Работа чата на https.
Верно для Voodoo_chat взятого с Voc project , но должно работать и на его потомках.
На https не работают оба непрерывных движка, на даемоне и на php. У меня пользователи могут пользоваться как http так и https. На https выбор непрерывных движков не предлагается.
открыть inc_common.php
найти
PHP:
eval($conf_content);


перед добавить
PHP:
# http or https
$http_or_https = isset($_SERVER['HTTP_SCHEME']) ? $_SERVER['HTTP_SCHEME'] : ( ( (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' ) || ( isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' ) || $_SERVER['SERVER_PORT'] == 433 ) ? 'https' : 'http' );
if ( $http_or_https == 'https' )
{ $conf_content = str_replace('http://', 'https://', $conf_content);
}
else
{ $conf_content = str_replace('https://', 'http://', $conf_content);
}


после добавить
PHP:
# http or https
$daemon_host = str_replace('https://', 'http://', $daemon_host);
if ( $http_or_https == 'https' )
{ if ( in_array('tail', $chat_types) && in_array('php_tail', $chat_types) ) { unset($chat_types[array_search('tail', $chat_types)]); } if ( in_array('tail', $chat_types) && !in_array('php_tail', $chat_types) ) { $chat_types[array_search('tail', $chat_types)] = 'php_tail'; } if ( in_array('php_tail', $chat_types) && in_array('js_tail', $chat_types) ) { unset($chat_types[array_search('php_tail', $chat_types)]); } if ( in_array('php_tail', $chat_types) && !in_array('js_tail', $chat_types) ) { $chat_types[array_search('php_tail', $chat_types)] = 'js_tail'; } $old_chat_types = $chat_types; unset($chat_types); $chat_types = array(); $i = 0; foreach ($old_chat_types as $val) { $chat_types[$i] = $val; ++$i; }
}


открыть admin/configure/inc_cfg_engine.php

найти:

*Различные типы чата доступные для пользователей рекомендуется 'tail' и 'reload'

в строке после добавить:

<br>если пользователь заходит в чат по https, то tail и php_tail заменяются на js_tail, потому что tail и php_tail на https не работают

---------------------- конец цитаты -------------------

Теперь я в сомнениях...
Если https с демоном не работает, и для него нужно запускать чат только на скриптах - это же фигня полная.
И что делать в данной ситуации?
С одной стороны - нужно выполнять рекомендации (пока ещё рекомендации, а неизвестно что будет со временем - вдруг браузеры начнут блокировать незащищённые формы ввода паролей) по безопасности.
А с другой стороны... С другой - хрень полная получается.
У кого какие мысли есть на этот счёт?
Или процитированный мною пост - фигня, и daemon можно запустить на https?
 
Последнее редактирование:

Rain

Администратор
Команда форума
Регистрация
04.09.14
Сообщения
367
Реакции
321
Баллы
63
Возраст
29
mychatik, я задавался этим вопросом еще в 2016 году. Были проведены эксперименты, пробы переделать демон. Ничего из этого не увенчалось успехом. Демон на С++ просто отказывается работать. Моих знаний С++ не хватает для переработки демона, а она определенно нужна. Помимо проблем с https есть проблема с поддержкой новых версий ПО (apache,nginx). Можно пробовать подумать что-то с проксированием с https на http протокол, но откровенно нет желания и времени.

P.S. Мы, например, развитие VOC++ закончили давно, каких то существенных модов выпускать уже не будем. Вместо этого уже почти год активно идет разработка нашего движка, не требующего С++ демонов, интеграции в ПО сервера и имеет высокие шансы завестись даже на шаред-хостинге и работать в несколько раз быстрее чем VOC++ с С++ демоном. При всем при этом иметь те же функции что и VOC++ (викторина, загс и такое прочее) в улучшенном варианте.

P.P.S. Сорри, если звучит как реклама :)
 
Сверху Снизу