как защитить директорию

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем SPoX, 18 сен 2015.

  1. SPoX

    SPoX

    Регистр.:
    19 апр 2014
    Сообщения:
    180
    Симпатии:
    24
    здравствуйте дорогие друзья
    я уже давно использую oxyclassifieds у меня 8.4 версия и есть проблема каторую я не могу решить
    в папке шаблона поставил защиту от прямого входа и доступа к файлам

    с помощью .htaccess поставил так
    Код:
    Options -Indexes
    на половину это сработало если попытатся набрать http://site.ru/templates/ или http://site.ru/templates/название шаблона/ выдает ошибку 404

    но если набрать в браузере http://site.ru/templates/название шаблона/login.html или же http://site.ru/templates/название шаблона/header.html то содержимое файла доступно для всех

    я попробовал в .htaccess поставить так
    Код:
    Order allow,deny
    Deny from all
    но потом даже сам двиг не может читать папку шаблона и все пропадает

    что делать прошу помогите мне
     
  2. Unak

    Unak Создатель

    Регистр.:
    27 июл 2014
    Сообщения:
    42
    Симпатии:
    18
    <Files ~ "\.(html|php)$">
    order deny,allow
    deny from all
    </Files>
    Это должно помочь
     
  3. SPoX

    SPoX

    Регистр.:
    19 апр 2014
    Сообщения:
    180
    Симпатии:
    24
    не помогло сейчас вся директория http://site.ru/templates/ или http://site.ru/templates/название шаблона/
    открывается без проблем
     
  4. Unak

    Unak Создатель

    Регистр.:
    27 июл 2014
    Сообщения:
    42
    Симпатии:
    18
    order allow,deny
    <Files ~ "\.(jpg|png|css|js)$">
    allow from all
    </Files>
    Эта конструкция разрешит загрузку файлов только если их расширения перечислены в списке, проверял, все работает.
    Все остальное будет отброшено.
     
    SPoX нравится это.
  5. denverkurt

    denverkurt Denve®

    Регистр.:
    23 дек 2013
    Сообщения:
    700
    Симпатии:
    384
    убогий движок значит. нормальные движки подгружают нужные скрипты и шаблоны локально, средствами файловой системы, вот для этих случаев и помогает запрет доступа через .htaccess
    в вашем же случае получается что движок запрашивает шаблон через веб-сервер?... тут .htaccess не поможет
    можно еще попробовать открыть только для айпишников сервера, может быть получится. попробуйте прописать примерно так:
    Код:
    Order allow,deny
    Deny from all
    Allow from 127.0.0.1 12.34.56.78
    
    127.0.0.1 - loopback
    12.34.56.78 - тут укажете внешний айпишник сервера
     
  6. willy-rumster

    willy-rumster Писатель

    Регистр.:
    2 мар 2015
    Сообщения:
    3
    Симпатии:
    0
    Вот на примере с phpMyAdmin:
    ##Конфигурируем авторизацию на уровне Apache (доп.безопасность:(

    nano /etc/phpmyadmin/apache.conf
    ##Находим в файле блок «» и дописываем директиву «AllowOverride All». ##Отредактированный блок в итоге должен выглядеть так:
    <Directory /usr/share/phpmyadmin>
    Options FollowSymLinks
    DirectoryIndex index.php
    AllowOverride All
    ##Остальной текст оставляем как есть.
    ## При помощи директивы “AllowOverride” мы сообщили Apache, что все директивы могут быть переопределены через внешний файл настроек – «.htaccess».

    ##Создадим новый конф. файл .htaccess в директории с phpmyadmin:

    nano /usr/share/phpmyadmin/.htaccess
    ##Прописываем в этом файле необходимость авторизации на уровне web-сервера:

    AuthType Basic
    AuthName "Restricted Files"
    AuthUserFile /var/www/wordpress/.htpasswd
    Require valid-user

    //В конфигурационном файле мне пришлось воспользоваться следующими директивами:
    //AuthType – директива определяет тип идентификации пользователя. В качестве значения я указываю Basic. Насколько мне известно, вариантов кроме Basic до сих пор в Apache не реализовано (поправьте, если ошибаюсь).
    //AuthName – директива используется совместно с предыдущей. В ней мы пишем текст, который будет отображаться в диалоге запроса логина/пароля. Значением директивы может быть абсолютно любой текст.
    //AuthUserFile – значением директивы выступает путь к файлу, содержащий информацию о пользователях и их паролях, которые могут получить доступ к закрытому ресурсу. На данном этапе этого файла нет, мы создадим его чуть позже.
    //Require – директива позволяет определить принцип аутентификации. Она может принимать несколько значений (например, мы можем перечислить пользователей или группы пользователей, которые могут получать доступ к закрытому ресурсу). //Значение Valid-user подразумевает, что получить доступ к закрытому ресурсу могут получить все пользователи, доступные в файле AuthUserFile.

    ##Создание htpasswd файла

    //Необходимые настройки сделаны. Теперь создадим файл, путь к которому мы указывали в директиве AuthUserFile. Для этого вбиваем команду:

    htpasswd -c /var/www/wordpress/.htpasswd user_name

    //Имя пользователя выбираем любое, с системными пользователями оно не переплетается. Утилита htpasswd запросит пароль для нового пользователя.
    //Придумываем пароль и после завершения создания пользователя перезапустим apache:

    service apache2 restart

    //Проверяем авторизацию на уровне web-сервера
    //Попробуем обратиться к phpMyAdmin. Если все описанные выше манипуляции были проделаны правильно, то страница входа phpMyAdmin сразу будет недоступна. Вместо нее появится окно с запросом имени пользователя и пароля. Вводим данные, которые мы указали утилите htpasswd и только после этого попадаем на страницу входа в phpMyAdmin.