Ошибка У вас нет прав на доступ к данной странице по прямой ссылке

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

Ytsan

  • Осваиваюсь на форуме
  • ***
  • 40
  • 1
Привет,
Почему может возникать такая ошибка при попытке зайти в материал или плагин?
И откуда она вообще взялась, было же все отлично
Даже, если не появляется это сообщение, то при клике на материал, ничего не происходит, я остаюсь в списке материалов
« Последнее редактирование: 02.09.2014, 14:45:56 от b2z »

*

ELLE

  • Support Team
  • *****
  • 4582
  • 867
1. кто-то уже редактирует данный материал (с другого аккаунта или с другого браузера - привет любителям висеть админом в нескольких браузерах или в нескольких вкладках)
2. кто-то не завершил редактирование материала, а просто закрыл вкладку

все это дело одним махом можно разблокировать в общих настройках

*

Ytsan

  • Осваиваюсь на форуме
  • ***
  • 40
  • 1
1. кто-то уже редактирует данный материал (с другого аккаунта или с другого браузера - привет любителям висеть админом в нескольких браузерах или в нескольких вкладках)
2. кто-то не завершил редактирование материала, а просто закрыл вкладку

все это дело одним махом можно разблокировать в общих настройках
Да, нас двое, я из Америки правлю, он из России, мы так всю уже полгода делаем и проблем не было.
Из последних действий, что было мною произведены, я создала модуль html-код, чтобы он нормально работал и TinyMCE не резал код, я его отключала, другие варианты, что народ писал для борьбы с этим мне не помогли. После этого начало глючить. В интернете пишут, что такая ошибка исправляется чуть ли только не перезаливом сайта или нужно править phpные файлы в modules.

Мне почему-то кажется, что все должно проще решаться, может я какой-то тумблер не тот админке нажала))

*

Ytsan

  • Осваиваюсь на форуме
  • ***
  • 40
  • 1
Помогло обновление кеша..) посмотрю как будет дальше, народ пишет, что иногда так бывает

*

Ytsan

  • Осваиваюсь на форуме
  • ***
  • 40
  • 1
Хотя я думаю, что Вы, Elle, все-таки правы. Если раньше мы работали с одного IP и проблем не было, а теперь когда с разных, то появились. Вот почему, наверное, кеш помог

*

Ytsan

  • Осваиваюсь на форуме
  • ***
  • 40
  • 1
А воз и ныне там, постоянно вылазит этот баг, правда вот на английской версии сайта такого нет. Странно

*

b2z

  • Support Team
  • *****
  • 7452
  • 741
  • Разраблю понемногу
У меня такое тоже случается. Если поискать в инете, у многих такое, и точного решения нет. Самое интересное, что у меня это происходит на Joomla 2.5 (английской), причем только тогда, когда я работаю из дома. Если захожу в админку с работы, такого не происходит. Мне кажется, что происходит какой-то сбой в сессии и это как-то связано с интернет провайдером, но мне так и не удалось точно установить причину.

*

SmokerMan

  • Профи
  • ********
  • 5329
  • 689
так значек блокировки висит на этих материалах или нет?

*

b2z

  • Support Team
  • *****
  • 7452
  • 741
  • Разраблю понемногу
так значек блокировки висит на этих материалах или нет?
Не помню =) При сохранении выкидывает ошибку и дальше можно опять зайти в материал и редактировать. В следующий раз обращу внимание на значок.

Это явно какой-то косяк в User state - у меня в кастомном компоненте такая же ерунда происходит. Я в нем использую user state . В главном контроллере ставлю параметр game_id:
Код: php
JFactory::getApplication()->getUserStateFromRequest('com_esports.game_id', 'game_id', 1, 'int');

А потом его проверяю, если его нет, то запрещается доступ. Так вот, этот параметр постоянно слетает после первого входа в админку и попытки что-то отредактировать в кастомном компоненте. Потом этого уже не происходит.

Походу надо как-то пытаться дебажить...

*

AlekVolsk

  • Профи
  • ********
  • 6301
  • 336
так значек блокировки висит на этих материалах или нет?
Значка блокировки при этом нет, на J3, куда в админку вхожу только я и только с одной машины не всегда даже чистка кэша помогает. Через раз, причем только из списка модуля админки "последние материалы". Что-то в модуле не так?

*

b2z

  • Support Team
  • *****
  • 7452
  • 741
  • Разраблю понемногу
Мое мнение - проблема кроется здесь, а именно в этой строке:
Код: php
$values = (array) $app->getUserState($context . '.id');

Как я писал выше, скорее всего отваливается User State, поэтому метод отрабатывает неверно. Хорошо, что у метода есть дебаг, надо будет дома проверить его работу.

*

SmokerMan

  • Профи
  • ********
  • 5329
  • 689
Это явно какой-то косяк в User state - у меня в кастомном компоненте такая же ерунда происходит. Я в нем использую user state . В главном контроллере ставлю параметр game_id:
угу в libraries/legacy/controller/legacy.php там есть проверка в методе checkEditId
устанавливается она перед редактированием в контроллере /libraries/legacy/controller/form.php
Код
$this->holdEditId($context, $recordId);

И если происходит обрыв сессии, то естественно эта проверка не проходит.
Проверить достаточно легко зайти в какой нибудь материал на редактирование и очистить куки для домена. После этого обновить страницу и после входа и редиректа будет эта ошибка.

*

AlekVolsk

  • Профи
  • ********
  • 6301
  • 336
Ну, можно оформлять как баг, пусть решают.

*

SmokerMan

  • Профи
  • ********
  • 5329
  • 689
Ну, можно оформлять как баг, пусть решают.
это не баг, а так задумано)

*

AlekVolsk

  • Профи
  • ********
  • 6301
  • 336
Ничего себе задумка, эт так постебались специально, чтоб народ маялся? Обрыв сессии - вполне нормальная ситуация, нигде в мире нет 100% надежных внешних линий коммуникаций (правительственные и военку в расчет не берем, хотя и там бывает далеко от совершенства), так нафига это делать? Я бы добавил проверку при закрытии сессии, что если что-то там открытое/незавершенное осталось, то действие по умолчанию из настроек, по дефолту - отмена.

*

b2z

  • Support Team
  • *****
  • 7452
  • 741
  • Разраблю понемногу
угу в libraries/legacy/controller/legacy.php там есть проверка в методе checkEditId
устанавливается она перед редактированием в контроллере /libraries/legacy/controller/form.php
Код
$this->holdEditId($context, $recordId);

И если происходит обрыв сессии, то естественно эта проверка не проходит.
Проверить достаточно легко зайти в какой нибудь материал на редактирование и очистить куки для домена. После этого обновить страницу и после входа и редиректа будет эта ошибка.

Интересно, а почему тогда при обрыве сессии не выкидывает из админки?

*

AlekVolsk

  • Профи
  • ********
  • 6301
  • 336
Значит - это не обрыв сессии? Или тут куки каким-либо волшебным образом вмешиваются?

*

b2z

  • Support Team
  • *****
  • 7452
  • 741
  • Разраблю понемногу
Значит - это не обрыв сессии? Или тут куки каким-либо волшебным образом вмешиваются?
Вот не знаю, я пока до конца не понял, что за напасть. Надо как-то попытаться сделать отладку происходящего. Вот думаю, как...

*

SmokerMan

  • Профи
  • ********
  • 5329
  • 689
Интересно, а почему тогда при обрыве сессии не выкидывает из админки?
тут я не знаю)
может редактирование открывается не через task, а по прямой ссылке?
т.е. ссылка на редактирование имеет такой вид
Код
index.php?option=com_content&view=article&layout=edit&id=ID 
вместо
Код
index.php?option=com_content&task=article.edit&id=ID



*

SmokerMan

  • Профи
  • ********
  • 5329
  • 689
Дело ясное, что дело темное.
предлагаю побухать)

*

Ytsan

  • Осваиваюсь на форуме
  • ***
  • 40
  • 1
В общем, если по моему опыту, то такие варианты не работают и можете не тратить время:
- комментирование неких строк в неких в php-файлах
- создание второго юзера с такими же правами
- снятие блокировок
- правка htaccess
- удаление/отключение каких-то модулей
- отключение кеширования
- стучание (как кто-то писал) к хостеру тоже ничего не дает, они тут не при чем

Да, действительно уйма людей имеют такую же проблему. Даже на американских форумах, где мне всегда удается найти ответ, то и там народ только спрашивает спрашивает, что-то советует, но все не то. Поэтому пока что временным вариантом решения этой проблемы стало - ставить галочку напротив материала и жмакать Edit.

*

Mitriy-Bug

  • Осваиваюсь на форуме
  • ***
  • 91
  • 1
  • Верстка сайтов на Joomla
у меня такое происходит во всех браузерах, кроме Firefox.
Сохранил материал, закрыл а открыть уже не можешь.
Версия Joomla 3.3.6 но как видно происходит и в других версиях
Вольный работник

*

slepoy

  • Завсегдатай
  • *****
  • 713
  • 21
  • Тотальная шизофазия
Для сведения.

Проблема возникает ан Joomla 3.4.x (простой сайт с минимальным набором компонентов). Пользуюсь Google Chrome (проблема, судя по нижеописанному, в нем).

1. Захожу в административную часть сайта, где время сессии 15 мин.
2. Открываю материал для редактирования.
3. Жму (сразу же) "Сохранить и закрыть" или "Закрыть" материал.
4. Снова пытаюсь открыть материал и вижу сообщение:
Цитировать
Ошибка
У вас нет прав на доступ к данной странице по прямой ссылке (#38).

Error
You are not permitted to use that link to directly access that page (#38).
где 38 - ID материала.
5. При повторной попытке открытия материала не отображается каких либо действий.
6. "Разблокировка" не помогает.
7. Чистка устаревшего кэша не помогает (кэширование отключено).
8. Чистка куки браузера не помогает, что очень странно, ведь ошибка возникает в Google Chrome (в Firefox все нормально, в других браузерах не проверял).

решение: разлогин/логин.
« Последнее редактирование: 12.04.2015, 20:52:49 от slepoy »
Помог? Поставь(те) плюс в репутацию.

*

AlekVolsk

  • Профи
  • ********
  • 6301
  • 336
В 3.3.6 ни разу не столкнулся с багом, после обновы на 3.4.x снова он начал вылазить, и довольно часто. Отмониторить бы, чего они там понаваяли...

*

slepoy

  • Завсегдатай
  • *****
  • 713
  • 21
  • Тотальная шизофазия
AlekVolsk, я также не замечал этой проблемы в Joomla 3.3.x. Началось все после обновлений до 3.4.
Помог? Поставь(те) плюс в репутацию.

*

AlekVolsk

  • Профи
  • ********
  • 6301
  • 336
Это часто наблюдалось до 3.3.6, хотя все же реже, чем сейчас.

*

slepoy

  • Завсегдатай
  • *****
  • 713
  • 21
  • Тотальная шизофазия
У меня во всех 100% случаях в Google Chrome. Стоит "Закрыть" или "Сохранить и закрыть" материал - все. Больше я его не открою для редактирования.
Помог? Поставь(те) плюс в репутацию.

*

AlekVolsk

  • Профи
  • ********
  • 6301
  • 336
не пользуйтесь хромом и новой оперой

*

Ytsan

  • Осваиваюсь на форуме
  • ***
  • 40
  • 1
если еще актуально - для того чтобы в таком случае все-таки открыть материал для редактирования, необходимо поставить галочку напротив и нажать "Изменить", тогда вы попадете в материал