ASP.NET MVC应用程序处理程序映射和模块的性能和安全性

我刚读了一篇有趣的文章.基本上说,你应该通过两种方式来调整每个应用程序的IIS设置:

>处理程序映射 – 删除应用程序未使用的所有内容
>模块 – 删除应用程序未使用的所有内容

那么我现在开发ASP.NET已经有一段时间了,甚至在工作中,我们从来没有在生产环境中做到这一点.我理解所提出的理论优势 – 最大限度地减少应用程序(安全性)的“表面”,并提高性能.但是,如果您在现实生活中做到这一点(真正的客户项目,而不是概念验证项目),我真的很好奇.这是什么缺点(可维护性可能?).最重要的问题是值得吗?例如,表现增益是否可见?

另外,如果你认为这是一个很好的做法,请提供一些好的和一致的方式(或指出我的教程),你怎么做这个过程 – 你如何决定什么留下什么删除.

例如,什么是ASP.NET MVC 3应用程序的最小但工作集,它使用自定义身份验证(基于会话,不依赖于Forms身份验证,Windows身份验证等),没有Web服务和类似功能

编辑

我发现这篇文章http://madskristensen.net/post/Remove-default-HTTP-modules-in-ASPNET.aspx

在其中,Scott Guthrie说:

一般来说,您可以使用这种方法获得一些非常小的性能胜利 – 尽管我可能会建议不要这样做.原因是ASP.NET(形成身份验证,角色,缓存等)的某些功能当然会在您移除所依赖的模块后停止工作.试图弄清楚为什么发生这种情况常常会令人困惑.

但是还没有测量,实践(我不是真的相信“你以后可以惊讶”的说法:)

解决方法

对于什么值得,Security Best Practices for IIS 8有这样的:
  • Install only the IIS modules you need.

    IIS 8 is composed of more than 40 modules,which allow you to add modules you need and remove any modules you don’t need. If you
    install only the modules you need,you reduce the surface area that is exposed to potential attacks.

  • Periodically remove unused or unwanted modules and handlers.

    Look for modules and handlers that you no longer use and remove
    them from your IIS installation. Strive to keep your IIS surface
    area as small as possible.

IIS Modules Overview还具有IIS模块引用,并为每个模块提供了一个名为“删除此模块的潜在问题”部分.例如,如果删除了DefaultAuthentication模块:

Some ASP.NET features may not work for anonymous requests if ASP.NET authentication mode is Forms. Also,DefaultAuthentication.OnAuthenticate event will not be raised.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WPF...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这...
Some samples are below for ASP.Net web form controls:(from http://www.visualize.uk.com/resources/asp
问题描述: 对于未定义为 System.String 的列,唯一有效的值是(引发异常)。 For columns not defined as System.String, the only vali
最近用到了CalendarExtender,结果不知道为什么发生了错位,如图在Google和百度上找了很久,中文的文章里面似乎只提到了如何本地化(就是显示中文的月份)以及怎么解决被下拉框挡住的问题,谈
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence changed a lot since 1.1. Here is the order: App
静态声明: ' Style="position: relative" AppendDataBoundItems="True"> (无 或 空 或
以下内容是从网络上搜集资料,然后整理而来的。不当之处,请不吝指教。(The following were from network, and edited by myself. Thanks in a
Imports System Imports System.Reflection Namespace DotNetNuke '*********************************
Ok so you have all seen them: “8 million tools for web development”, “5 gagillion tools that if you
以下内容来源于: http://blog.csdn.net/cuike519/archive/2005/09/27/490316.aspx 问:为什么Session在有些机器上偶尔会丢失? 答:可能和
以下文章提到可以用“http://localhost/MyWebApp/WebAdmin.axd”管理站点: ---------------------------------------------
Visual Studio 2005 IDE相关的11个提高开发效率的技巧 英文原创来源于: http://www.chinhdo.com/chinh/blog/20070920/top-11-vis
C#日期格式化 from: http://51xingfu.blog.51cto.com/219185/46222 日期转化一 为了达到不同的显示效果有时,我们需要对时间进行转化,默认格式为:2007
from: http://www.nikhilk.net/UpdateControls.aspx Two controls that go along with the UpdatePanel and
Open the report in the Designer. In the ToolBox, select/expand the "Report Items" section.
from: http://drupal.org/node/75844 Do this: find which TinyMCE theme you are using. For the sake of
asp.net中给用户控件添加自定义事件 用户控件中定义好代理和事件: public delegate void ItemSavedDelegate(object sender, EventArgs
在Windows版本的Safari中浏览以下的页面。 http://www.asp.net/AJAX/Control-Toolkit/Live/Calendar/Calendar.aspx Calen
http://aspnet.4guysfromrolla.com/articles/021506-1.aspx By Scott Mitchell Introduction When creating