.NET开发经典名著:ASP.NET MVC 4高级编程(第4版)
编辑推荐
《.NET开发经典名著:ASP.NET MVC 4高级编程(第4版)》由浅入深地介绍ASRNET MVC,是一本不错的ASENET MVC教程。
作者简介
作者:(美国)加洛韦(Jon Galloway) (美国)Phil Haack (美国)Brad Wilson (美国)K.Scott Allen 译者:孙远帅 邹权
加洛韦(Jon Galloway),是Microsoft社区项目经理,帮助管理ASP.NET网站内容;Jon曾撰写MVC Music Store教程。
Phil Haack,是GitHub开发网站的开发人员,该网站目前拥有逾100万编程用户。
Brad Wilson,是AS P.NET团队的开发人员,拥有近20年的职业软件开发经验。
K.Scott Allen,是OdeToCode有限责任公司的创始人。他为全球各地的客户提供定制开发、咨询和指导服务。
目录
第1章入门
1.1 ASP.NET MVC简介
1.1.1 ASP.NET MVC如何适应ASP.NET
1.1.2 MVC模式简介
1.1.3 MVC在Web框架中的应用
1.1.4 ASP.NET MVC 4的发展历程
1.1.5 ASP.NET MVC 4概述
1.1.6 ASP.NET Web API
1.1.7增强的默认项目模板
1.1.8使用jQuery Mobile的移动项目模板
1.1.9显示模式
1.1.10捆绑和微小框架
1.1.11包含开源库
1.1.12其他功能
1.1.13开源发布
1.2创建ASP.NETMVC4应用程序
1.2.1创建ASP.NET MVC 4应用程序的软件要求
1.2.2安装ASP.NET MVC 4
1.2.3创建ASP.NET MVC 4应用程序
1.2.4 New ASP.NET MvC 4 aroject对话框
1.3 ASENET MVC应用程序的结构
1.4小结
第2章控制器
2.1控制器的角色
2.2示例应用程序:MVC Music Store
2.3控制器基础
2.3.1简单示例:Home Controller
2.3.2创建第一个控制器
2.3.3控制器操作中的参数
2.4小结
第3章视图
3.1视图的作用
3.2指定视图
3.3强类型视图
3.4视图模型
3.5添加视图
3.6 Razor视图引擎
3.6.1 Razor的概念
3.6.2代码表达式
3.6.3 HTML编码
3.6.4代码块
3.6.5 Razor语法示例
3.6.6布局
3.6.7 ViewStart
3.7指定部分视图
3.8 小结
第4章模型
4.1为MVC Music Store建模
4.2为商店管理器构造基架
4.2.1基架的含义
4.2.2基架和实体框架
4.2.3执行基架模板
4.2.4执行基架代码
4.3 编辑专辑
4.3.1创建编辑专辑的资源
4.3.2响应编辑时的POST请求
4.4模型绑定
4.4.1 DefaultModelBinder
4.4.2显式模型绑定
4.5 小结
第5章表单和HTML辅助方法
5.1表单的使用
5.1.1 action和method特性
5.1.2 GET方法还是POST方法
5.2 HTML辅助方法
5.2.1 自动编码
5.2.2辅助方法的使用
5.2.3 HTML辅助方法的工作原理
5.2.4设置专辑编辑表单
5.2.5添加输入元素
5.2.6辅助方法、模型和视图数据
5.2.7强类型辅助方法
5.2.8辅助方法和模型元数据
5.2.9模板辅助方法
5.2.10辅助方法和ModelState
5.3其他输入辅助方法
5.3.1 Html.Hidden
5.3.2 Html.Password
5.3.3 Html.RadioButton
5.3.4 Html.CheckBox
5.4渲染辅助方法
5.4.1 Html.ActionLink和Html.RouteLink
5.4.2 URL辅助方法
5.4.3 Html.Partial和Html.RenderPartial
5.4.4 Html.Action和Html.RenderAction
5.5 小结
第6章数据注解和验证
6.1为验证注解订单
6.1.1验证注解的使用
6.1.2 自定义错误提示消息及其本地化
6.1.3注解的后台原理
6.1.4控制器操作和验证错误
6.2 自定义验证逻辑
6.2.1 自定义注解
6.2.2 IValidatableObject
6.3显示和编辑注解
6.3.1 Display
6.3.2 ScaffoldColumn
6.3.3 DisplayFormat
6.3.4 ReadOnly
6.3.5 DataType
6.3.6 UIHint
6.3.7 Hiddenlnput
6.4小结
第7章成员资格、授权和安全性
7.1使用Authorize特性登录
7.1.1保护控制器操作
7.1.2 Authorize特性在表单身份验证和AccountController控制器中的用法
7.1.3 Intranet Application模板中的Windows Authentication
7.1.4整个控制器的安全性
7.1.5使用全局授权过滤器保障整个应用程序安全
7.2要求角色成员使用Authorize特性
7.3扩展角色和成员
7.4通过OAuth和OpenID的外部登录
……
第8章Ajax
第9章路由
第10章NuGet
第11章ASP.NETWebAPI
第12章依赖注入
第13章单元测试
第14章扩展ASP.NET MVC
第15章高级主题
第16章ASP.NET MVC实战:构建NuGet.org网站
文摘
2.被动注入
XSS通过向接收用户输入的网站中注入脚本代码来实现。一个典型例子就是博客,它允许用户提交自己的评论,如图7—11所示。
如果有博客,我们就会知道表单中通常会有4个文本输入元素:姓名、e—mail地址、评论和URL。类似于这样的表单会让XSS黑客垂涎三尺,理由有两个一首先,他们知道表单中提交的输入内容会在站点上显示;其次,他们知道编码URL很麻烦,并且开发人员一般会把这些URL作为锚标记的一部分,所以通常隋况下开发人员不会对这些内容进行必要检查。
可以毫不夸张地讲,黑客比我们要精明得多。尽管他们可能没有这么聪明,但是我们不妨这样想——来增强我们的防御警觉。
攻击者首先查看站点是否对输入元素上的特定字符进行了编码。虽然对评论字段和姓名字段采取了安全措施,但是URL字段仍然存在注入脚本的可能性。为了说明这一点,我们向URL输入元素中输入任意一个查询字符串,如图7—12所示。
这不是直接攻击,只是在URL中放入了一个“