zoukankan      html  css  js  c++  java
  • asp.net mvc 2被遗忘的<%:Html.AntiForgeryToken() %>

    <%:Html.AntiForgeryToken() %>

    我们可以称作令牌认证.

    操作系统:windows server 2008 r2

     本文来自zilchwei.转载请注明出处!

    开发软件:visual studio 2010中文版+asp.net mvc 2.0中文版.

    浏览器信息:IE8

    我们在学习asp.net mvc的时候往往在考虑

    Index的view输入数据 然后POST到AboutController做处理

    我们做一个简单的数据输入页面

    index的html代码如下:

    <%:Html.BeginForm("About","Home")%>
    用户名:
    <input type="text" name="Zilhwei" />
    <%Html.EndForm(); %>
     本文来自zilchwei.转载请注明出处!

    很简单 我们输入一个用户名然后Post到HomeController中About这个ActionResult去做一个处理

    当然 我们这里会生成HTML代码 如果代码被修改会怎么样呢?这个不做对的探讨.

    我们对代码进行修改

    <%:Html.BeginForm("About","Home")%>
    <%:Html.AntiForgeryToken() %>
    用户名:
    <input type="text" name="Zilchwei" />
    <%Html.EndForm(); %>

    我们的view生成了这样的html代码

    代码
    <form action="/Home/About" method="post"><input name="__RequestVerificationToken" type="hidden" value="YUqLzBScUslwvdrKa50t4TEy3qyPXWFUH96MruwL6Uf10PcoM3kEi2cgAFBISRRE" />
    用户名:
    <input type="text" name="Zilchwei" />
    </form>

    接着我们接收的AboutConrtoller也要做出相应的修改.

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult About()
    {
    return View();
    }

    这里需要说明的是ValidateAntiForgeryToken其实就是一个actionfilter

    用户验证是否为指定页面提交的值.

     本文来自zilchwei.转载请注明出处!

    这样测试肯定是没问题的

    那么我们测试下如果未生成令牌会怎么样,修改index的代码

    <%:Html.BeginForm("About","Home")%>
    用户名:<input type="text" name="Zilchwei" />
    <%Html.EndForm(); %>

    我们验证结果如图

    就这样  欢迎大家和我一起交流.端午节快乐!

     本文来自zilchwei.转载请注明出处!

  • 相关阅读:
    【SQLServer】 查询一个字段里不同值的最新一条记录
    【MySQL】mysql5.7数据库的安装和配置
    【Java】JDK安装及环境变量配置
    【Oracle】SQL语句优化
    【JavaScript】 控制自适应高度
    【Java】登录验证码
    【JavaScript】 直接下载保存文件
    【Java】Java批量文件打包下载zip
    【Java】Java 单文件下载及重命名
    主机在无线网络的情况下,设置centos7.2虚拟机网络联通
  • 原文地址:https://www.cnblogs.com/ZilchWei/p/1756209.html
Copyright © 2011-2022 走看看