zoukankan      html  css  js  c++  java
  • 当网站上线时记得设置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/),且不得用于商业目的。如您有任何疑问或者授权方面的协商,请与我联系

  • 相关阅读:
    Hello TensorFlow 二 (GPU)
    Hello TensorFlow
    C/C++调用Golang 二
    C/C++调用Golang 一
    再谈cgo(转)
    Go语言第一深坑
    通过样式改变图片明暗度,不是透明度哦
    webpack vue-loader was used without the corresponding plugin. Make sure to include VueLoaderPlugin
    webpack打包报错Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Entrypoint instead
    [Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build.
  • 原文地址:https://www.cnblogs.com/liminjun88/p/2236639.html
Copyright © 2011-2022 走看看