sitecore - 允许访问sitemap.xml,同时禁止其他xml文件

时间:2013-08-28 06:04:11

标签: xml sitecore sitecore6 sitemap.xml httpforbiddenhandler

在我们的sitecore 6.6.0(rev.130404)项目中,我们在根文件夹中有一个sitemap.xml文件。但是,由于web.config中的配置,无法从浏览器访问该文件。

<add path="*.xml" verb="*" type="System.Web.HttpForbiddenHandler" name="xml (integrated)" preCondition="integratedMode"/>

此配置是按照sitecore security hardening guide

中的说明添加的

如果我们删除此配置,则用户可以访问sitecore文件夹中的任何.xml文件。我们怎样才允许访问sitemap.xml,同时禁止访问网站中的其他xml文件?

(我们在IIS7集成模式下运行)

2 个答案:

答案 0 :(得分:11)

保留.xml的全局拒绝,并使用以下规则向<handlers>部分添加其他规则:

<add path="sitemap.xml" verb="GET" type="System.Web.StaticFileHandler" name="xml allow" />
<add path="*.xml" verb="*" type="System.Web.HttpForbiddenHandler" name="xml (integrated)" preCondition="integratedMode" />

这样只会允许sitemap.xml和所有其他.xml文件被拒绝。

建议不要删除.xml文件上的全局拒绝,因为它会删除对license.xml文件的保护,例如。

答案 1 :(得分:2)

另外,如果您要设置多个例外,请记住更改&#34;名称&#34;属性 - 那些必须是唯一的:

... name =&#34; xml allow &#34; /&GT;