4

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

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

此配置已按照sitecore 安全强化指南中的说明添加。

如果我们删除此配置,用户就可以访问 sitecore 文件夹中的任何 .xml 文件。我们如何只允许访问 sitemap.xml 而不允许访问网站中的其他 xml 文件?

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

4

2 回答 2

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 文件的保护,例如。

于 2013-08-28T07:25:16.907 回答
3

此外,如果您设置了多个例外,请记住更改“名称”属性 - 这些属性必须是唯一的:

...name=" xml 允许" />

于 2014-04-19T06:24:11.227 回答