За последние 24 часа нас посетили 35384 программиста и 1745 роботов. Сейчас ищут 858 программистов ...

Apache. Запрет на доступ с исключениями

Тема в разделе "Вопросы от блондинок", создана пользователем bFree, 1 дек 2009.

  1. bFree

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

    С нами с:
    17 авг 2008
    Сообщения:
    81
    Симпатии:
    0
    Здравствуйте, как можно с помощью htaccess закрыть доступ ко всем типам файлов, кроме некоторых (в частности, jpe?g, png, gif)

    Вот так не хочет работать:
    Код (Text):
    1.  
    2. <Files ~ "*">
    3.    Order allow,deny
    4.    Deny from all
    5. </Files>
    6.  
    7. <FilesMatch "\.(png|jpe?g|gif)$">
    8.    Order Allow,Deny
    9.    Allow from all
    10. </FilesMatch>
     
  2. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    bFree
    попробуй jpeg|jpg


    я решал задачу, поставив php-перехватчик на все запросы. но, у меня еще была проблема с типом файлов, когда с расширением *.gif мог быть абсолютно любой графический файл быть загружен.
     
  3. bFree

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

    С нами с:
    17 авг 2008
    Сообщения:
    81
    Симпатии:
    0
    DarkElf
    не катит \=
     
  4. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    А что, mod_rewrite уже не канает?

    Код (Text):
    1. <FilesMatch "FORBIDDEN">
    2.    Deny from All
    3. </FilesMatch>
    4.  
    5. RewriteEngine On
    6. RewriteRule !(\.(php|phtml)$) FORBIDDEN
    Запрет всех файлов, кроме php и phtml.
    За изящность не ручаюсь.
     
  5. bFree

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

    С нами с:
    17 авг 2008
    Сообщения:
    81
    Симпатии:
    0
    Apple
    Спасибо! Я не додумался использовть рерайт.
     
  6. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Да мой вариант тупой, я не прогил месяца два наверное, там флаги есть для правил, я щас не помню, F вроде.