我正在使用sitecore 5.3并且需要能够在重定向到时删除sitecore插入(item =%2faeuaoeu& user = extranet \ Anonymous& site = thl)的额外查询字符串参数ItemNotFoundUrl中指定的404页面。
在Sitecore 6中我可以设置
<setting name="RequestErrors.UseServerSideRedirect" value="true"/>
并且它有效,但sitecore 5.3中不存在该设置
我需要它,所以我可以修复this asp.net vulnerability
编辑:Sitecore的官方回复已在此article
中进行了描述答案 0 :(得分:2)
除了找不到项目外,还有布局找不到具有相同行为的页面。
您需要创建Sitecore.Pipelines.HttpRequest.ExecuteRequest处理器的自定义版本,您可以在其中调用以下方法的自定义版本:
private void HandleItemNotFound(HttpRequestArgs args)
private void HandleLayoutNotFound(HttpRequestArgs args)
在这些方法中,您不会附加任何查询字符串:
// old code:
WebUtil.Redirect(WebUtil.AddQueryString(itemNotFoundUrl, new string[] { "item", localPath, "user", userName, "site", str4 }), false);
}
//new code:
WebUtil.Redirect(itemNotFoundUrl, false);
我建议您联系官方Sitecore技术支持以获得解决方案。