2013-08-28 58 views
3

在我們的sitecore 6.6.0(rev。130404)項目中,我們在根文件夾中有一個sitemap.xml文件。但是,由於web.config中的配置,無法從瀏覽器訪問該文件。sitecore - 允許訪問sitemap.xml,同時禁止其他xml文件

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

該配置是按照sitecore security hardening guide中的說明添加的。

如果我們刪除此配置,用戶可以訪問sitecore文件夾內的任何.xml文件。我們如何才能允許訪問sitemap.xml,同時禁止訪問網站中的其他XML文件?

(我們是在IIS7集成模式下運行)

回答

9

離開全局拒絕的.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文件的保護。

+0

太棒了!就像一個插件一樣,你也希望在'httpHandlers'部分也包含上面的內容。 –

1

此外,如果你設置了多個例外,記得要改變 「名稱」 屬性 - 這些必須是唯一的:

... NAME = 「XML允許」/>

相關問題