#34281 Moool13:
Еще заметил - http://www.cotonti.com/datas/users/200_1645.png
Может, там тоже ответ 404 сделать?
Тут надо от разработчиков комментарий получить, на предмет, как и когда используется тот или иной вызов сообщений.
На сколько я понимаю, есть 4 основных сценария использования сообщений об ошибке:
-
Вывод сообщений внутри страницы (например не все поля формы заполнены правильно) - используется cot_error($message, $src). Позволяет «копить ошибки в стек» и выводит их единым блоком;
-
Вызов сообщения об ошибке (или запрос на подтверждение), подгружаемые через Ajax - используется «прямой» вызов messahe.php;
-
Завершение скрипта с выводом ошибки (например «запрашиваемая страница не найдена», «раздел заблокирован»). Используется системными файлами через cot_die_message($code,[$header]). Особенность в том, что выводится страница «заглушка» без стандартного дизайна. Коды ошибки должны корректно передаваться на клиента;
-
Ошибки доступа к ресурсам сайта, через cot_block($allowed). Используется редирект (через header('Location: ...')) на страницу с ошибкой (message.php), после чего может быть еще один редирект (meta тег "refresh"), например на страницу авторизации.
Еще вопрос к разработчикам: при попытке обращения к ресурсам недоступным пользователю (например в админку без пароля) мы получаем сообщение 930 и редирект на страницу авторизации (или главную). Со стороны пользователя все ОК, однако, запрашиваемая сраница отдается с кодом «302 Found», а последующая страница с сообщением 930 отдается по коду «200», хотя по логике должен отдаваться код «401 Authorization Required» (или как указано в коде cot_block($allowed) «403 Forbidden»). Вот иллюстрация.
Непонятки кроются в functions.php,см. функцию cot_redirect($url):
в строке 4598 мы устанавливаем заголовок «HTTP/1.1 403 Forbidden», пришедший к нам из cot_block($allowed),
однако далее в строке 4619 имеем header('Location: '.$url), который «имеет приоритет» и естественно отдает 302.
Как решение этой проблемы - 930 сообщение должно отдавать в этом случае код 401 (или 403).