Author Topic: Не отправляет сообщения  (Read 8376 times)

0 Members and 2 Guests are viewing this topic.

sarmat

  • Jr. Member
  • **
  • Posts: 2
Не отправляет сообщения
« on: September 16, 2017, 08:51:58 AM »
Добрый день, подскажите куда копать

версия 2.1.0

по https работает нормально, если пытаюсь работать по http то в ситуации когда нет оператора в онлайне и у клиента всплывающее окно с возможностью отправить письмо, то письмо не отправляется - не проходит проверка капчи, причем эффект нестабильный если почистить куки то может письмо и отправиться а может и нет, что на это влияет так понять и не смог

в каком месте php капчу отключить попробовать чтоб убедиться что именно из-за нее не отправляется письмо?
если капчу отключить в админке то письмо начинает отправляться как положено

где собака порылась?

на сервере nginx+apache, https настроен на nginx, который форвардит запросы http без ssl на апач
в index.php стоит строчка $_SERVER['HTTPS'] = 'on';

пока гуру молчат копаюсь сам, выяснил что в файле libs/classes/Mibew/RequestProcessor/ThreadProcessor.php
есть функция  apiProcessLeaveMessage, а внутри нее две переменных $original и $captcha, вот первая переменная содержит пустую строку, а вторая - то что вводится в форме клиента
вопрос, почему оригинальная капча не попадает в это место?

очередная порция: при http соединении не передается идентификатор сессии mibew через куки, ищу место где это должно происходить
« Last Edit: September 16, 2017, 06:52:03 PM by sarmat »

faf

  • Mibew Staff Member
  • Native
  • *****
  • Posts: 951
    • Mibew Messenger
Re: Не отправляет сообщения
« Reply #1 on: September 18, 2017, 01:38:43 PM »
Версия 2.1.0 сильно устарела и уязвима. Не помню, правда, были ли с тех пор исправлены какие-то вещи, связанные с CAPTCHA.

в index.php стоит строчка $_SERVER['HTTPS'] = 'on';

??? Если Вы принудительно указали приложению, что оно работает по https, то сессионные куки будут задаваться с соответствующим флагом. И при работе по нешифрованному http их доступно не будет. По крайней мере, это первое, что приходит на ум.

sarmat

  • Jr. Member
  • **
  • Posts: 2
Re: Не отправляет сообщения
« Reply #2 on: September 18, 2017, 02:51:39 PM »
ну собственно задачка решилась комментированием одной строчки в init.php
//    @ini_set('session.cookie_secure', true);

просто без такой строчки
$_SERVER['HTTPS'] = 'on';
при работе по https мессенджер не работал во всплывающем окне

теперь работает как по http так и по https

а переезд с 2.1.0 на что то более свежее требует изменения структуры базы?
и я там покурочил откомпилированный джава скрипт для клиентского чат окна поменяв там разные текствовые строчки ну и размер настроив всех полей чтоб на маленьком экране смотрелось адекватно, много крови отнимет обновление?
« Last Edit: September 18, 2017, 02:57:28 PM by sarmat »

faf

  • Mibew Staff Member
  • Native
  • *****
  • Posts: 951
    • Mibew Messenger
Re: Не отправляет сообщения
« Reply #3 on: September 19, 2017, 08:22:08 PM »
ну собственно задачка решилась комментированием одной строчки в init.php
//    @ini_set('session.cookie_secure', true);

Безопасность Ваших пользователей - Ваша ответственность.  ;)

просто без такой строчки
$_SERVER['HTTPS'] = 'on';
при работе по https мессенджер не работал во всплывающем окне

Без конкретики что-либо сказать невозможно.

а переезд с 2.1.0 на что то более свежее требует изменения структуры базы?

Насколько помню, да, незначительные изменения в базе были. Mibew при обновлении сам умеет всё делать, при условии, конечно, что структуру базы не модифицировали руками.

и я там покурочил откомпилированный джава скрипт для клиентского чат окна поменяв там разные текствовые строчки ну и размер настроив всех полей чтоб на маленьком экране смотрелось
адекватно, много крови отнимет обновление?

Естественно, с момента 2.1.0 что-то менялось и по стилям, и по js-коду. Сколько крови теперь у Вас испортит процесс обновления никто кроме Вас знать не может.

Как говорится, КССЗБ. Вообще-то именно для предотвращения подобных ситуаций существуют кастомные стили, возможность использования которых в 2.1.0 уже была.