За последние 24 часа нас посетили 17259 программистов и 1719 роботов. Сейчас ищут 1082 программиста ...

сокрытие папки в htaccess. Нужна помощь!

Тема в разделе "Вопросы от блондинок", создана пользователем mazurov, 3 сен 2014.

  1. mazurov

    mazurov Активный пользователь

    С нами с:
    24 окт 2012
    Сообщения:
    29
    Симпатии:
    0
    Адрес:
    Москва
    Вот моя переписка с reg.ru
    Пытался получить поддержку. Не получил. Может тут кто поможет. Заранее благодарю.
    1. От меня им:
    Задачи для решения:

    1. Как запретить папку, если её расположение неизвестно, но известно её название.

    Пример (в данном примере я пытаюсь закрыть файлы. Тем не менее, задача "закрыть папку, а не файлы", где папки находятся по нижеуказанным адресам.):

    А. В главном файле .htaccess пытаюсь закрыть доступ к файлам css и js?
    Пишу конструкцию
    <FilesMatch ".(css|js)$">
    Deny From All
    </FilesMatch>
    и она не работает на сайте в Интернете. Хотя на локальной машине отрабатывает. Есть основания предположить, что это хостинг не позволяет файлу отработать.

    Файлы находятся по таким адресам:
    /themes/ИмяШаблона/style/
    /themes/ИмяШаблона/js/ и мне нужно запретить к ним доступ.
    ------------------------------------------------------------------------------------------------

    2. От reg.ru мне
    Решение:

    1) Оставить только Apache, выключив в "Возможностях" панели управления nginx. Однако при этом может возрасти нагрузка на сервер.

    2) Убрать лишние расширения из location виртуального хоста в nginx. Сейчас location выглядит так:
    location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)

    если Вы хотите, чтобы правило работало, из location нужно убрать css и js, т.е. конечный вид будет таким:
    location ~* ^.+\.(jpg|jpeg|gif|png|svg|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)


    server_name stroidvorik.ru http://www.stroidvorik.ru;
    listen 194.58.96.113;
    set $root_path /var/www/u0558759/data/www/stroidvorik.ru;
    location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
    root $root_path;
    access_log /var/www/nginx-logs/u0558759 isp;
    access_log /var/www/httpd-logs/stroidvorik.ru.access.log ;
    error_page 404 = @fallback;
    }

    Внимание! Если Вы выберите второй вариант, потом не вносите никаких изменений в "WWW домен" stroidvorik.ru, иначе панель управления "сбросит" location в nginx на старый (т.е. вновь в нем появятся расширения css и js и Ваше правило перестанет работать).
    -----------------------------------------------------------------------------------------------

    3. От меня в reg.ru
    Вы много и детально написали, но на вопрос не ответили.
    Повторяю (кратко):
    Как закрыть папку style по адресу:
    <<< /themes/ИмяШаблона/style/
    Мне нужно знать, как закрыть папку, и, пожалуйста, ничего лишнего.
    Хочу добавить, что я никогда особо не дружил и не сталкивался с nginx. У меня apache. Я не знаю, где находится на хосте файл, в который надо вписывать выражения. А поэтому:
    1. предоставьте пожалуйста готовое решение.
    2. вместе с ним дайте какие-то пояснения куда ставить и как ставить.

    Так мы себе сохраним и в следующих проектах сможем сами реализовывать, поняв структуру кода.
    --------------------------------------------
    4. От рег.ру мне
    К сожалению, мы не можем решить поставленную задачу в рамках сервисного администрирования вашего сайта.
    Закажите на платной основе.
    --------------------------------------------
    5. Я заказал платную услугу и они отказали, сказав, что вообще такого не делают. Спрашивается, зачем предлагать платно, если вообще не делают.
    ---------------------------------------------------------------------------------------
    ---------------------------------------------------------------------------------------

    Уважаемые, помогите решить задачу.
    Заранее благодарю всех.
    Если у вас есть аккаунты на каких-то сайтах фриланса, я с удовольствием оставлю отзыв.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    найми админа
     
  3. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    А какой смысл пытаться скрывать css и js, если они все равно по определению должны быть видны каждому? Даже если их закрыть через htaccess, все равно их можно будет увидеть через тот же Firebug
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не пытайся это понять. не всех можно понять. не всех нужно понимать.
     
  5. dcc0

    dcc0 Активный пользователь

    С нами с:
    27 июн 2014
    Сообщения:
    217
    Симпатии:
    4
    Может, подлить масла в огонь?!
    Наверное, можно положить css и js в базу данных, доставать через eval.
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    давайте без юмора. мало ли, может js и css это только пример.
    хз как закрыавть в апаче, но в нгинксе есть возможность юзать регулярки в локейшене.
     
  7. mazurov

    mazurov Активный пользователь

    С нами с:
    24 окт 2012
    Сообщения:
    29
    Симпатии:
    0
    Адрес:
    Москва
    Игорь, это совсем не ваш стиль

    Игорёк, привет. вы же не мой консультант и в теме нет задачи направить меня на путь истинный или помочь мне в рекрутинге. Я же поставил четкую задачу, которая никак не подразумевает вашего ответа.
    За три года знакомства вы никогда не отвечали мне не в тему. Что произошло? Я как-то сыскал себе какое-то изменение отношения? Чем я этого добился?

    Добавлено спустя 47 минут 58 секунд:
    весьма плачевная реакция
    Жаль, что увидел якобы умные советы и реакции. Сарказм, отхождение от темы, якобы профессионализм.
    Ни один из написавших не то, чтобы дать совет, а даже направление решения не выдержали. Зачем, спрашивается, отвечаете?
    Какова цель ухмылок?
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    нанять админа можно за $20 в месяц и забыть про геморой на веки вечные. Реально, ты больше потратил на этот вопрос времени*денег, чем заплатил бы за месяц админу.
     
  9. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.120
    Симпатии:
    1.245
    Адрес:
    там-сям
    Задача "закрыть показ списка файлов, но не запрещать использование самих файлов" решается через "главный" .htaccess
    Код (Text):
    1. Options -Indexes
    ИЛИ можно просто поместить пустой index.html в каждую такую папку

    Задача "закрыть все файлы в папке" решается через .htaccess в этой папке
    Код (Text):
    1. Deny From All
    Задача "закрыть все файлы определенного вида в папке" решается через .htaccess в этой папке
    Код (Text):
    1.  
    2. <FilesMatch "регулярка">
    3. Deny From All
    4. </FilesMatch>
    И очевидное: если доступ к файлам запретить, браузер не сможет их использовать. Запретишь .css — лишишся стилей. Поэтому задача кажется немного дикой.

    Почему не срабатывает FilesMatch на хостинге? Возможные причины:
    - всё срабатывает, но твой браузер|прокси хорошо закешировал файлы и показывает предыдущее состояние;
    - хостером запрещен AllowOverride;
    - на хостинге вообще не Apache, а nginx, например;
    - на хостинге nginx-перед-apache и в nginx твои файлы попадают в особое правило, до апачи запрос просто не доходит.

    Техподдержка откажется менять настройки если они повлияют на всех клиентов хостинга.