2015-12-03 3 views
0

Мне нужно перевести .htaccess файл web.config для использования на IIS 7.5:IIS - Запретить доступ ко всем файлам в указанном каталоге

IndexIgnore */* 
<Files *.php> 
    Order Deny,Allow 
    Deny from all 
</Files> 

Это предназначено для предотвращения доступа общественности к любому файлу в каталог/core, разместив файл на /core/.htaccess.

Приложение по-прежнему требует доступа к файлам php и другим активам из каталога/core.

Я попытался hiddenSegments:

<security> 
    <requestFiltering> 
     <hiddenSegments> 
      <add segment="core"/> 
     </hiddenSegments> 
    </requestFiltering> 
</security> 

и DenyUrlSequences:

<security> 
    <requestFiltering> 
     <denyUrlSequences> 
      <add sequence="/core/" /> 
     </denyUrlSequences> 
    </requestFiltering> 
</security> 

однако это предотвратить панель администратора функционировать как запросы, как следующие блокированы:

http://www.domain.com/admin/assets/core/admin.js 

, поскольку URL-адрес содержит заблокированную последовательность core.

Может ли кто-нибудь предложить, как можно запретить публичный доступ к ресурсам в каталоге/core, позволяя панели администратора функционировать?

ответ

0

Я реализовал решение, помещая следующее web.config в каталоге, доступ к URL должен быть отказано:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
    <security> 
     <requestFiltering> 
     <!-- prevent url access to this and sub directories --> 
     <denyUrlSequences> 
      <add sequence="/" /> 
     </denyUrlSequences> 
     </requestFiltering> 
    </security> 
    </system.webServer> 
</configuration>