HTML5技术

【第二篇】ASP.NET MVC快速入门之数据注解(MVC5+EF6) - 三生石上(4)

字号+ 作者:H5之家 来源:H5之家 2016-12-27 13:00 我要评论( )

这时, Fiddler 自动帮我们设置了模拟 POST 请求的参数,拷贝自之前的某个请求,这时的 [Request Body] 是经过 URL 编码的,我们可以方便的进行解码: 我们把这段代码修改成: __RequestVerificationToken=wwoxICDo

这时,Fiddler自动帮我们设置了模拟POST请求的参数,拷贝自之前的某个请求,这时的[Request Body]是经过URL编码的,我们可以方便的进行解码:

 

我们把这段代码修改成:

__RequestVerificationToken=wwoxICDootbixw8YMiFIOU1WW95QSCicREsWLeewlSAE28sdyEA0ZChlY0nfuOlxu2WDIjcrx086GYkaBOAtewyARWbeRZp0kD6tRt-hyAs1&Name=张三石&Gender=1&Major=&EntranceDate=2000-09-01

 

把这段字符串拷贝到Fiddler中的[Request Body],并点击[Execute]按钮,这时会发起一个新的模拟请求:

 

注意这个请求并不是从页面发出的,而是通过工具模拟的HTTP POST请求,并且我们还修改了其中的表单参数(Name=张三石,Major=空字符串),这样当然也就会躲开浏览器端的JavaScript验证规则,但是还是无法穿透服务器端的验证。

 

这也正是MVC中数据注解带来的便利,一个地方定义,三个地方使用(数据库表结构、客户端验证,服务器端验证)。

 

小结

本章我们首先查看了EF自动生成的数据库结构,然后为数据模型添加数据注解,继而介绍了数据迁移的工作过程。数据注解不仅对数据库表结构产生影响,而且会应用到前台的客户端验证和服务器端验证,接下来我们详细讲解了两则躲避客户端验证的手段,分别为禁用JavaScript和模拟POST请求。从而更加深刻的认识到数据注解给我们提供的便利:一个地方定义,三个地方使用(数据库表结构、客户端验证,服务器端验证)

在创建新用户页面,我们可以看到两个安全相关的代码(ValidateAntiForgeryTokenBind),它们分别用于阻止CSRF跨站请求伪造和Over-Posting过多提交攻击,下一篇文章我们会详细介绍。

下载示例源代码

 

 

你要觉得本篇文章对你有所帮助,请辛苦给个推荐,您的鼓励是我的动力!

 

 

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6) - 三生石上

    【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6) - 三生石上

    2016-12-23 17:00

  • 微信js框架第二篇(创建完整界面布局) - L-H

    微信js框架第二篇(创建完整界面布局) - L-H

    2016-12-22 15:05

  • ASP.NET Aries 入门开发教程6:列表数据表格的格式化处理及行内编辑 - 路过秋天

    ASP.NET Aries 入门开发教程6:列表数据表格的格式化处理及行内编辑

    2016-11-20 16:00

  • 在ASP.NET Core中使用Angular2,以及与Angular2的Token base身份认证 - 微软一站式示

    在ASP.NET Core中使用Angular2,以及与Angular2的Token base身份认证

    2016-11-20 15:00

网友点评
s