zoukankan      html  css  js  c++  java
  • 防止SQL注入

    最根本的就是sql查询参数化

    1.使用ORM-LINQ
    2.如果使用SQL:
    (1)前端数据验证
    (2)接口参数验证:强类型
    (3)使用sql时使用Sql对应帮助类进行sql参数化,比如:

    
    //在ASP.NET程序中使用参数化查询
     
    //ASP.NET环境下的查询化查询也是通过Connection对象和Command对象完成。如果数据库是SQL Server,就可以用有名字的参数了,格式是“@”字符加上参数名。
     
    SqlConnection conn = new SqlConnection("server=(local)\SQL2005;user id=sa;pwd=12345;initial catalog=TestDb");
    conn.Open();
     
    SqlCommand cmd = new SqlCommand(“SELECT TOP 1 * FROM [User] WHERE UserName = @UserName AND Password = @Password“);
    cmd.Connection = conn;
    cmd.Parameters.AddWithValue(”UserName”, “user01″);
    cmd.Parameters.AddWithValue(”Password”, “123456″);
     
    SqlDataReader reader = cmd.ExecuteReader();
    reader.Read();
    int userId = reader.GetInt32(0);
     
    reader.Close();
    

    (4)正则表达式验证、对字符串进行过滤

    参考资料

    使用StringBuilder与SqlParameter
    如何从根本上防止 SQL 注入?
    SQL参数化查询

  • 相关阅读:
    php 验证码
    扫描登录
    正则表达式
    liunx 搭建svn
    jq
    spl_autoload_register()函数
    php函数操作文件
    配置nginx支持TP框架
    Object-c 访问控制
    Obiective
  • 原文地址:https://www.cnblogs.com/Lulus/p/12458701.html
Copyright © 2011-2022 走看看