Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Неперехваченное исключение

Автор imperiya-mebeliРаздел Настройка системы и модулей

Ответов: 3
Просмотров: 3021
Последний ответ 22 Марта 2015, 19:10:53
от admin

0 Пользователей и 1 Гость просматривают эту тему.

*

shoto

  • ***
  • 235
  • +4/-0
    • Просмотр профиля
Re:Неперехваченное исключение
« Ответ #15 : 24 Апреля 2013, 13:31:56 »
Сравните ваш код в __admin.php в районе строки 139 с рабочим из более поздней сборки:
preg_match('|^http:\/\/(?:www\.)?([^/]+)\/|ui', getServer('HTTP_REFERER'), $matches);
$domainsCollection = domainsCollection::getInstance();
if ( (!isset($matches[1]) || count($matches[1])!=1)
|| ($domainsCollection->getDomainId($matches[1])===false && $domainsCollection->getDomainId('www.'.$matches[1])===false) ) {
$this->errorNewMessage(getLabel('error-users-non-referer'));
$this->errorPanic();
}


код совпадает. если я правильно поняла и смотрела в в файле:
/classes/modules/users/__admin.php

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Неперехваченное исключение
« Ответ #16 : 24 Апреля 2013, 13:45:00 »
прям неуловимый баг)

*

Vladimir

  • ****
  • 279
  • +48/-0
    • Просмотр профиля
Re:Неперехваченное исключение
« Ответ #17 : 24 Апреля 2013, 19:56:54 »
Если код совпадает, остается всего два варианта:
1) либо ваш браузер не передает HTTP_REFERER, либо сервер его теряет и до ЮМИ оно не доходит.
2) Что-то намудрили с именем домена и оно никогда не проходит проверку.

Суть фрагмента (все его поняли, но для определенности озвучу): проверяется, что запрос на изменение данных пользователя отправлен с домена, список которых есть в конфигурации ЮМИ.

А дальше - выводите поочередно HTTP_REFERER, получаемый домен и смотрите что попадает в условие.

*

shoto

  • ***
  • 235
  • +4/-0
    • Просмотр профиля
Re:Неперехваченное исключение
« Ответ #18 : 25 Апреля 2013, 09:53:47 »
Цитировать
Если код совпадает, остается всего два варианта:
1) либо ваш браузер не передает HTTP_REFERER, либо сервер его теряет и до ЮМИ оно не доходит.
Vladimir, все дело в браузере. как то в голову не приходило попробовать сделать все тоже самое в другом браузере.
в Хроме все работает. Мозила не дает.
Спасибо!