Форум русской поддержки Joomla!® CMS
03.12.2016, 08:40:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Надежно отключить медиаменеджер в фронтэнде

 (Прочитано 171 раз)
0 Пользователей и 1 Гость смотрят эту тему.
IlyaSh_87
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« : 30.08.2016, 21:07:07 »

Здравствуйте. Собственно сабж.
Переход по http://имя_сайта/media

Или:
http://имя_сайта/media/k2/attachments/несуществующее вложение
http://имя_сайта/media/k2/items/cache/несуществующая картинка

и т.п.
Вызывают медиаменеджер, если авторизованы во вронтэнде или форму авторизации, если не авторизованы.
Кто убирал?

Пока что я ни чего лучше не придумал, чем запретить страницу авторизации (редирект с кодом 403)
Записан
draff
Практически профи
*******

Репутация: +161/-5
Offline Offline

Пол: Мужской
Сообщений: 2649


step by step


« Ответ #1 : 30.08.2016, 21:30:48 »

А закрыть папку К2 с помощью .htaccess ?
А регистрация зачем на сайте ?
Записан
IlyaSh_87
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« Ответ #2 : 30.08.2016, 22:19:45 »

А регистрация зачем на сайте ?
регистрация на сайте выключена, но на форму авторизации все равно перебрасывает с кодом 303 (при попытке получить несуществующее вложение):
/component/users/?view=login

Если  я  авторизован, то попадаю сразу в директорию images (без редиректов)


Так как мне авторизация в фронтэнде все-равно не нужна, я ее просто закрыл:

Код:
RewriteCond %{REQUEST_URI} !administrator
RewriteCond %{QUERY_STRING} option=com_users [OR]
RewriteCond %{REQUEST_URI} /component/users
RewriteRule .* index.php [F]

Я не совсем понимаю что надо закрыть, что бы не было запроса к медиаменеджеру.
Записан
IlyaSh_87
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« Ответ #3 : 03.09.2016, 02:25:18 »

Вот так запилил:
Код:
RewriteCond %{REQUEST_URI} !administrator
RewriteCond %{QUERY_STRING} option=com_k2
RewriteCond %{QUERY_STRING} view=media
RewriteRule .* index.php [F]

RewriteCond %{REQUEST_URI} /media(/.*|\W?)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php [F]

лучше ни чего не придумал =(.
Кратко поясню почему так.
Первая часть: Если фронтенд, то запрещаем любой переход по адресу вида: http://имя_домена/index.php?option=com_k2&view=media (то есть по любому, который передает в GET параметры option и media в любом порядке).
Вторая часть: запрещаем переход по любому адресу, который содержит в себе:
http://имя_домена/media
http://имя_домена/media/
http://имя_домена/media/часть_адреса
http://имя_домена/часть_адреса/media/часть_адреса
http://имя_домена/часть_адреса/media/
http://имя_домена/часть_адреса/media
Но разрешаем переход для:
http://имя_домена/часть_адреса/medialibrary/часть_адреса
http://имя_домена/часть_адреса/media/путь_к_существующему_файлу_на_сервере

Работает как надо (нет ненужной переадресации на форму авторизации, на которую попадали, например, с поисковика или сайта, ссылающегося на уже несуществующее вложение, а так же запрет для любителей перебирать адрес в адресной строке). Быть может лучше на 404 отправлять? Хотелось бы услышать мнения.
« Последнее редактирование: 03.09.2016, 02:29:03 от IlyaSh_87 » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet