Помогите не свихнуться.... [РЕШЕНО]

Обсуждение CMS Made Simple в России.

Moderators: iturbay, wdwp

Post Reply
User avatar
m00nk
Forum Members
Forum Members
Posts: 57
Joined: Wed Sep 09, 2009 10:48 pm

Помогите не свихнуться.... [РЕШЕНО]

Post by m00nk »

Проблема:

CMSMS 1.9.1. Установлена на нескольких хостах (и куча копий на локали). Все было нормально до сегодняшнего дня, когда один из клиентов сообщил, что не может пользоваться менеджером файлов в КМС - он кликает по имени папки, но вместо того чтобы отобразить ее содержимое, КМС просто перезагружает страницу.

Проверка показала, что инцидент имеет место быть, проверено на трех броузерах (хром, огнелис и опера). Причем глюк наблюдается только на хосте клиента, на локали глюка нет.

Небольшое исследование выявило причину - после клика КМС делает редирект с параметром вида

Code: Select all

&m1_path=%2Fuploads%2Fimages
но проблема в том, что значение параметра передается неверно - должно быть

Code: Select all

%2Fuploads%2Fimages
а реально получается

Code: Select all

%252Fuploads%252Fimages
Насколько я понимаю, происходит "двойное кодирование" пути, в результате чего символ "%" сам оказывается URL-закодированным.

Еще одна особенность - если включить режим отладки ($config['debug'] = true; в файле config.php), то глюк исчезает и все начинает работать как часы.

Теперь собственно о головной боли.

Трассируя движок, нашел, что сам редирект выполняется в 137 строке файла misc.functions.php, где стоит команда:

Code: Select all

header("Location: $to");
Но, вставив перед ней кусок

Code: Select all

var_dump($to); exit;
я увидел, что в броузер адрес отправляется правильным, т.е. содержит
%2Fuploads%2Fimages
а не
%252Fuploads%252Fimages....

Не дайте сойти с ума, объясните, почему броузеры ломают этот запрос и (главное!) как от этого избавиться. Нутром чую, что виноват хостинг, но в какую сторону копать - ума не приложу.

ЗЫ
параметры хоста:

Server API (server_api):
cgi-fcgi

Server Database (server_db_type):
MySQL (mysql)

Server Database Version (server_db_version):
5.0.91

Server Software (server_software):
Apache

Server Operating System (server_os):
Linux 2.6.18-194.26.1.el5PAE On i686

Current PHP Version (phpversion):
5.2.17
Last edited by m00nk on Thu Mar 03, 2011 9:26 pm, edited 1 time in total.
I hate CMSMS. :(
Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am

Re: Помогите не свихнуться.... :(

Post by Fenik17 »

Попробуйте обновить до 1.9.3. Там что-то такое фиксили..
User avatar
m00nk
Forum Members
Forum Members
Posts: 57
Joined: Wed Sep 09, 2009 10:48 pm

Re: Помогите не свихнуться.... [РЕШЕНО]

Post by m00nk »

В общем проблема в хостере. Дело в том, что у этого хостера (для удобства клиентов ::) ) есть такая фича, как временное доменное имя. Т.е. если хостинг уже куплен, а доменного имени еще нет, то хостер предоставляет временный суб-домен для настройки и тестирования сайта.

Косяк в том, что эти суб-домены делаются каким-то кривым редиректом. При выполнении этого редиректа и происходит повторное URL-кодирование спец-символов.

В общем, прикрутили к хосту нормальное доменное имя и все заработало как надо. Зря только волосы на голове рвал :(
I hate CMSMS. :(
Post Reply

Return to “Russian - русский”