zoukankan      html  css  js  c++  java
  • ASP.NET在访问Controller的方法带参数时怎样防止黑客攻击

    场景

    ASP.NET中MVC添加Controller以及访问其Action:

    https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106796402

    在上面访问Controller的方法时如果要给方法传递一个参数可以这样写

    namespace HelloMVC.Controllers
    {
        public class HelloController : Controller
        {
            // GET: Hello
            public string index()
            {
                return "公众号:霸道的程序猿,推动编程相关教程";
            }
    
            public string Welcome(string name)
            {
                return "welcome"+name;
             }
        }
    }

    比如这里给Welcome方法传递一个name参数,那么可以通过url中

    http://localhost:6388/Hello/Welcome?name=badao

    进行传递

    但是这样可能会别黑客传递一些可执行的脚本代码等,所以可以通过以下方法对参数进行编码

    namespace HelloMVC.Controllers
    {
        public class HelloController : Controller
        {
            // GET: Hello
            public string index()
            {
                return "公众号:霸道的程序猿,推动编程相关教程";
            }
    
            public string Welcome(string name)
            {
              
                return "welcome" + HttpUtility.HtmlEncode(name);
            }
    
    
        }
    }

    这样在接收参数时显示还是跟上面一样,但是传递的参数已经被重新编码。

    也可以采用如下方式,效果是一样的。

    namespace HelloMVC.Controllers
    {
        public class HelloController : Controller
        {
            // GET: Hello
            public string index()
            {
                return "公众号:霸道的程序猿,推动编程相关教程";
            }
    
            public string Welcome(string name)
            {
                return "welcome" + Server.HtmlEncode(name);
            }
    
        }
    }
  • 相关阅读:
    SQL 执行进展优化
    初识SQL 执行顺序
    前端模块化开发的价值(转)
    js 闭包之一
    js模块开发(一)
    简单说说call 与apply
    js 爱恨情仇说 this
    说说 js String
    $Ajax简单理解
    SQL-如何使用 MongoDB和PyMongo。
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/13149684.html
Copyright © 2011-2022 走看看