当网站上线时记得设置umbDebug为false致Umbraco开发者

    从4月份开始接触Umbraco,发现它是一个优秀的、开源的CMS(Content Management System),也是受到微软推荐大家使用的框架。在之前也接触过Orchar,发现它太复杂了,所以就转投Umbraco的怀抱了,最大的原因是它和公司的开发框架很相似,主要技术是XML+XSLT,当然也可以使用C#,CSHTML和VBHTML去做呈现。同时package和theme做的都很不错。现在在看它的源代码。目前国内通过Umbraco认证的开发人员不多。主要是国内参与的人员不多,其次Umbraco在中国没有分支机构和金牌合作商。

     当我们在本地调试好Umbraco之后,我们很多开发基于将自己的网站上线,但是网了关闭Umbraco的debug模式,可能会有安全的漏洞(Security loophole)。以下是翻译老外的blog。

1.Why you should disable trace(为什么我们需要关闭调试模式)

     如果您尝试在您的网站上已启用调试时,你会得到各种有用的信息输出到页面包括安装的相关信息,而这些是对于黑客来说有用和有趣的。它还很容易确定了你是使用的umbraco类型网站。同时它可能暴露了其他你尽可能想避免让他人知道的信息。

2.How to diable the debug settings via the web.config(在web.config中关闭debug调试模式)

    Umbraco在web.config放置了一个很有用的flag,允许开发这很容易设置debug的模式是on/off,关闭debug模式,我们只要在web.config中搜索到”umbracoDebugMode”,如果是“ture”,将它设置为flase.

<add key="umbracoDebugMode" value="true" />

应该是:

<add key="umbracoDebugMode" value="false" />

更有效的方式是,您应该同时将ASP.NET debug模式设置为false.

<compilation defaultLanguage="c#" debug="true" batch="false" targetFramework="4.0">

应该是:

<compilation defaultLanguage="c#" debug="false" batch="false" targetFramework="4.0">

  PS:在公司的项目中,在kick off Test和production build的时候,build System会自动判断项目是否关闭了debug模式,如果没有关闭,build是不会成功。这也是微软在asp.net 4.0中,web.config下面有web.Debug.config和web.Release.config。方便开发者将开发环境和生产环境分开。

3.Disable it using UrlRewriting.config(在UrlRewriting.config中关闭调试模式)

     如果您喜欢更好的方法,你可以在UrlRewriting.config中添加路由规则,然后每次让用户访问所有的url包含可疑的页面重定向到你指定的页面。我们可以在UrlRewriting.config重写路由规则(如果你没有其他特别的路由规则,可以直接覆盖它)。

<urlrewritingnet xmlns="http://www.urlrewriting.net/schemas/config/2006/07">
          <rewrites>
                    <add name="nodebugaspx"
                        virtualUrl="(.*).aspx.*umbDebug.*"
                        rewriteUrlParameter="IncludeQueryStringForRewrite"
                        redirect="Application"
                        destinationUrl="~$1.aspx"
                        ignoreCase="true" />

                    <add name="nodebug"
                        virtualUrl="(.*).*umbDebug.*"
                        rewriteUrlParameter="IncludeQueryStringForRewrite"
                        redirect="Application"
                        destinationUrl="~$1"
                        ignoreCase="true" />
          </rewrites>
</urlrewritingnet>

原文地址: http://blogs.thesitedoctor.co.uk/tim/CommentView,guid,756a4d25-577c-4b6a-95cf-2e9c923539bd.aspx#commentstart

 

本文基于 知识共享许可协议 知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议发布,欢迎转载,演绎,但是必须保留本文的署名liminjun88(包含链接http://www.cnblogs.com/liminjun88/),且不得用于商业目的。如您有任何疑问或者授权方面的协商,请与我联系

原文地址:https://www.cnblogs.com/liminjun88/p/2236639.html