我需要将.htaccess文件转换为web.config以便在IIS 7.5上使用:
IndexIgnore */*
<Files *.php>
Order Deny,Allow
Deny from all
</Files>
这是为了通过在/core/.htaccess中找到文件来防止公共访问/ core目录中的任何文件。
应用程序仍然需要访问/ core目录中的php文件和其他资源。
我尝试了 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
因为网址包含阻止序列核心。
有人可以建议在允许管理面板运行的同时如何防止对/ core目录中的资源进行公共访问?
答案 0 :(得分:1)
我已经通过将以下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>