asp.net MVC 安全性[笔记]】的更多相关文章

1. 跨站脚本(XSS) 1.1 介绍 1.1.1 被动注入,利用输入html,javascript 等信息伪造链接,图片等使用提交信息,调转页面等 1.1.2 主动注入,黑客主动参与攻击,不会傻等倒霉的用户上钩 1.2 防御 1.2.1 HTML 编码 Html.Encode 1.2.2 HTML 属性编码 Html.AttributeEncode 1.2.3 url 编码 URL.Encode 1.2.4 java script 编码 Ajax.JavaScriptStringEncode…
ASP.NET MVC学习笔记-----Filter(2) 接上篇ASP.NET MVC学习笔记-----Filter(1) Action Filter Action Filter可以基于任何目的使用,它需要实现IActionFilter接口: public interface IActionFilter { void OnActionExecuting(ActionExecutingContext filterContext); void OnActionExecuted(ActionExec…
ASP.NET MVC学习笔记-----Filter(1) Filter类型 接口 MVC的默认实现 Description Authorization IAuthorizationFilter AuthorizeAttribute 最先执行,在其他类型的filter和action方法前执行 Action IActionFilter ActionFilterAttribute 在action方法执行前和执行后执行 Result IResultFilter ActionFilterAttribut…
接上篇ASP.NET MVC学习笔记-----Filter(1) Action Filter Action Filter可以基于任何目的使用,它需要实现IActionFilter接口: public interface IActionFilter { void OnActionExecuting(ActionExecutingContext filterContext); void OnActionExecuted(ActionExecutedContext filterContext); }…
ASP.NET MVC 学习笔记-2.Razor语法   1.         表达式 表达式必须跟在“@”符号之后, 2.         代码块 代码块必须位于“@{}”中,并且每行代码必须以“:”结尾.代码块中定义的变量可能会被同一个域中的其他块使用.比如,定义在视图顶部的变量可以被同一视图中的代码块和代码段访问. 3.         布局 Razor通过layouts保持网页外观布局的一致性.布局模板包含基本的标签,并可以指定渲染视图内容的位置.比如 基本布局文件(_Layout.cs…
ASP.NET MVC 学习笔记-7.自定义配置信息   ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettings> 2 <add key="LogInfoProvider" value="Cookie" />//登录信息保存方式 3 </appSettings> 但是这些配置都是单个字符串信息,在某些情况下,无法做到灵活配置. 针对这种情况,使用…
ASP.NET MVC 5 + EntityFramework 6 + MySql 先写下列表,之后慢慢补上~ 对MySql数据库使用EntityFramework 使用域用户登录+记住我 画面多按钮提交 使用权限+角色 下载CSV文件 保留上次的检索条件 后台修改的Model值反映不到客户端的问题 检索结果分页 下拉框内容 下拉框联动 日期选择控件DatePicker 使用资源文件实现国际化 MVC5中如何追加JS文件 MVC5发布到IIS7.5上遇到的一些问题(500.400.13) [MV…
1. 返回ViewResult public ActionResult Index()   {       ViewData["Message"] = "Welcome to asp.net MVC!";       return View();   }  public ActionResult Index(){    ViewData["Message"] = "Welcome to ASP.NET MVC!";    re…
我们都知道在ASP.NET MVC中自带了Razor View Engine,Razor十分的强大,可以满足我们绝大部分的需要.但是ASP.NET MVC的高度可扩展性,使我们可以使用自定义的View Engine,以满足我们自己的特殊需要. 首先,实现自定义的View Engine需要实现IViewEngine接口: public interface IViewEngine { //使用指定的控制器上下文查找指定的分部视图. ViewEngineResult FindPartialView(C…
还是这张图: 当ControllerFactory生成Controller实例后,这时就需要使用ActionInvoker来选择调用一个合适的Action执行.ASP.NET MVC提供的基类Controller已经实现了ActionInvoker的功能.但是我们可以实现自定义的ActionInvoker来替代框架中提供的ActionInvoker. 首先一个ActionInvoker需要实现IActionInvoker接口: public interface IActionInvoker {…
从头开始系统地学习ASP.NET MVC 为什么要学习ASP.NET MVC?原因很多,可以先来看一下最早的ASP.NET WebForm的一些缺点: 传说中面试经常要问到的ASP.NET WebForm页面生命周期是的,你没看错,哪怕是一个简单的.空白的Default.aspx,都要经理这么一个过程!这还没算上Site.master.UserControl.ascx等,每个部分都要经历这么一大圈! 冗长的ViewState.如果WebForm的内容过于庞大,则会相对应的生成更加庞大的ViewS…
1. 什么是ASP.Net MVC ASP.Net MVC是一种开发Web应用程序的工具(is a web application development framework),采用Model-View-Controller即模型-视图-控制器的模式来构建 Web应用程序,强调分层即各部分的分工,每个部分有各自的职责,而不相互替代. 2. ASP.Net MVC来源 很久之前,人们有开发基于Winodw的Web应用程序的需求,于是微软开发出了下列的几个产品:ASP.ASP.NET Web For…
本文参考:http://www.cnblogs.com/willick/p/3331519.html 1.ASP.NET MVC允许使用 Area(区域)来组织Web应用程序,这对于大的工程非常有用,每个Area代表应用程序的不同功能模块.Area 使每个功能模块都有各自的文件夹,文件夹中有自己的Controller.View和Model. 2.新建一个Area,和一个空的MVC程序一样,只是多了一个继承自AreaRegistration的类,该类如下: public class MyAreaA…
本文参考:http://www.cnblogs.com/willick/p/3304534.html 1.ORM(Object Relation Mapping)工具,是为了解决“关系数据库”和“面向对象语言”之间的“失配”,使得开发人员不用过多关心持久层而可以花更多的时间专注于业务. 2.Entity Framework(EF)是微软以ADO.NET为基础所发展出来的ORM解决方案,以Entity Data Model(EDM) 为主.利用了抽象化数据结构的方式,将每个数据库对象都转换成应用程…
本文参考:http://www.cnblogs.com/willick/p/3299077.html 1.在ASP.NET MVC中一个客户端请求是在特定的Controller的Action中处理的.默认情况下,MVC框架使用内置的Controller工厂类DefaultControllerFactory来创建某个请求对应的Controller的实例.有时候默认的DefaultControllerFactory不能满足我们的要求时,我们需要自定义继承自DefaultControllerFacto…
本文参考:http://www.cnblogs.com/willick/p/3208427.html 1.特性(Attribute)对程序中的元素进行标注,比如类.字段.方法.属性等. 2.在.NET Remoting的远程对象中,若要传递或调用某个对象,则该对象所属的类则必须标注[Serializable]. 3.在构建XML Web服务时,使用[WebMethod]特性让通过Http请求的的返回值编码成XML进行传递. 4.下列示例模拟ASP.NET MVC中的[StringLength]特…
本文参考:http://www.cnblogs.com/willick/p/3195560.html 1.MVC模式是软件系统的一种架构模式,它将软件分为三大模块: 模型(Model):封装业务逻辑以及对数据的处理方法,对数据有直接的访问权力(对数据库的增删改查等). 视图(View):对数据有目的的显示,不涉及业务逻辑. 控制器(Controller):组织各个层面,控制应用程序的流程,处理事件(包括用户行为和数据模型的改变)并响应. 2.在ASP.NET MVC中,控制器通常继承自Syste…
1)         异步控制器的由来 对于IIS,它维护了一个.NET线程池来处理客户端请求,这个线程池称为工作线程池,其中的线程称为工作线程.当IIS接收到一个请求时,需要从工作线程池中唤醒一个工作线程,并处理请求,处理完成后,工程线程再被线程池回收.使用线程池回收机制,通过线程的重复使用,避免了每次接受请求都创建一个新的线程,从而避免了服务器发生崩溃的风险. 绝大部分情况下,请求的执行过程都是非常快的.但是在个别情况可能会调用耗时操作(比如,读取文件或调用其他服务),造成工作线程耗用大量时…
1.         表达式 表达式必须跟在“@”符号之后, 2.         代码块 代码块必须位于“@{}”中,并且每行代码必须以“:”结尾.代码块中定义的变量可能会被同一个域中的其他块使用.比如,定义在视图顶部的变量可以被同一视图中的代码块和代码段访问. 3.         布局 Razor通过layouts保持网页外观布局的一致性.布局模板包含基本的标签,并可以指定渲染视图内容的位置.比如 基本布局文件(_Layout.cshtml) <!DOCTYPE Html> <ht…
接下来我们一起了解ASP.NET MVC的最重要的核心技术,了解ASP.NET MVC的开发框架,生命周期,技术细节. 一.Routing与ASP.NET MVC生命周期 1.Routing——网址路由 (一)  对比通过浏览器传来的http请求 了解网址路由(Routing)与运行生命周期的重要技术十分重要. 网址路由在ASP.NET MVC中有两个目的: 1.对比通过浏览器传来的http请求并对应到适当的Controller和Action进行处理. 2.决定ASP.NET MVC应该输出什么…
之前一篇写一半发现版本太老了,是基于mvc2的. 两本参考书编写的顺序各方面都不太一样.决定重新写一篇. 我这篇文章基于mvc5,vs2015 参考书:Will保哥的ASP.NET MVC4开发指南 一.创建一个项目 目录图解 1.从路由开始 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Rout…
上面这张图是asp.net mvc的工作流程图,我们可以看到当一个http请求来临时,首先需要经过路由系统,路由系统从中获取一些路由信息,然后ControllerFactory根据所得到的路由信息生成相应的Controller.也就是说,ControllerFactory的作用就是根据路由信息生成相应的Controller. 1.ASP.NET MVC内置的ControllerFactory-----DefaultControllerFactory 在ASP.NET MVC框架中已经给我们提供了…
Filter类型 接口 MVC的默认实现 Description Authorization IAuthorizationFilter AuthorizeAttribute 最先执行,在其他类型的filter和action方法前执行 Action IActionFilter ActionFilterAttribute 在action方法执行前和执行后执行 Result IResultFilter ActionFilterAttribute 在result执行前和执行后执行 Exception I…
Ajax的全名为:Asynchronous Javascript And XML(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术.Ajax技术首先向Web服务器发送异步请求数据,然后使用返回的内容来更新部分视图页面,而不是整个页面. Ajax异步请求包含两种类型的内容:一种是服务端生成的HTML代码,直接嵌入到页面里:另一种是原始的序列化数据,客户端JavaScript生成或更新HTML代码. ASP.NET MVC中关于Ajax的使用主要在以下两个方面: 1…
ASP.NET MVC在原来ASP.NET的基础上抛弃了基于页面的架构风格,使用了全新的MVC(模型-视图-控制器)架构的一种技术. 目前,它和ASP.NET都共存在.NET Framework之上. 1.       MVC架构 MVC架构是一种严格实现应用程序各个部分隔离的架构模式,这种隔离称之为“松耦合”.这种架构模式的好处如下: 1)         开发 开发单个组件时不再依赖其他组件,减少了组件间的影响. 2)         测试 组件间的松耦合,允许测试代码能够替换其他组件,减少…
布局: 如果不使用布局页,需要将Layout属性设置为null. @{     Layout = null; } 使用默认布局页: 使用Add View对话框,选择使用布局页(是布局页的名称文本框为空)就会自动创建几个目录和布局页.   _ViewStart.cshtml页面包含全部视图的默认配置._ViewStart.cshtml: @{     Layout = "~/Views/Shared/_Layout.cshtml"; } 布局页包含了所有使用该布局页的页面所共有的HTML…
For the sake of learning programming better, I'd like to increase the frequency of using English. So, this note will be written in English. All my study materials are from http://www.asp.net/mvc/overview/getting-started/introduction/getting-started.…
AOP(面向切面)是一种架构思想,用于把公共的逻辑放到一个单独的地方,这样就不用每个地方都写重复的代码了.比如程序中发生异常,不用每个地方都try…catch 只要在Golbal的Application_Error中统一进行异常处理. 不用每个Action中都检查当前用户是否有执行权限.ASP.NETMVC 中提供了一个机制,每个Action执行之前我们都会执行我们的代码,这样统一检查即可. 一夫当关万夫莫开! 四种Filter 在ASP.NET MVC中提供了四个Filter(过滤器)接口实现…
很久很久没有在博客园写过东西了,很多大虾也说过展示自己最好的地方就是有一个博客作为笔记,展示一下自己的学习和研究成果. 最近决心将公司的一款产品改用MVC的方式实现,于是乎就开始在园子里面疯狂的寻找各种基于MVC的框架和EF的案例.终于找到一款基于MVC+EF+Bootstrap的框架,并且决定自己动手改造尝试一番.自认为自己写过一些MVC的程序,就对MVC了解了,结果发现在写的过程中不断的碰钉子呀. 下面就记录一些自己学习过程中发现的问题,值得自己和大家注意: 1.ViewBag和ViewDa…
在网页中,我们经常需要引用大量的javascript和css文件,在加上许多javascript库都包含debug版和经过压缩的release版(比如jquery),不仅麻烦还很容易引起混乱,所以ASP.NET MVC4引入了Bundles特性,使得我们可以方便的管理javascript和css文件. 原来,我们引用css和javascript文件我们需要这样一个一个的引用: <script src="~/Scripts/jquery-1.8.2.js"></scri…