помогите с правилом deny from all для .htaccess

Discussion in 'Linux, Freebsd, *nix' started by egoweb, 14 Aug 2013.

  1. egoweb

    egoweb New Member

    Joined:
    11 Apr 2013
    Messages:
    19
    Likes Received:
    0
    Reputations:
    0
    в файле .htaccess вот так например могу заблокировать файл wp.php

    PHP:
    <Files wp.php>
    deny from all
    </Files>
    а можно ли как то сделать так. все файлы php запрещены, но есть список из 10 файлов что разрешены?

    например file1.php, file2.php, index.php

    делаю вот так но все равно эти исключения закрыты


    PHP:
    <Files "^(?!(file1\.php|file2\.php|index\.php))">
    Deny from all
    </Files>
    в чем моя ошибка?
     
  2. egoweb

    egoweb New Member

    Joined:
    11 Apr 2013
    Messages:
    19
    Likes Received:
    0
    Reputations:
    0
    500 ошибка вылетает
     
  3. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Есть разница между ВСЕ файлы запретить или запретить часть файлов. И смотря то запрещать. Можно запретить исполнение PHP в определенных папках, можно запретить доступ из вне к папке.

    http://httpd.apache.org/docs/2.2/mod/core.html#directory
    http://httpd.apache.org/docs/2.2/mod/core.html#directorymatch
    http://httpd.apache.org/docs/2.2/mod/core.html#files
    http://httpd.apache.org/docs/2.2/mod/core.html#filesmatch
    http://httpd.apache.org/docs/2.2/mod/core.html#location


    Code:
    <Files ~ "^(qq\.txt|qqq\.txt)$">
    Allow from all
    </Files>
    <Files ~ "^(1\.txt|3\.txt)$">
    Deny from all
    </Files>
    
    Вот как пример 2 списка, один разрешен, другой запрещен.