总结:  " />
当前位置: 代码迷 >> SQL >> 总结:  
  详细解决方案

总结:  

热度:6   发布时间:2016-05-05 14:17:43.0
浅谈SQL注入(拼接字符串注入)

 SQL注入解释:

所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

SQL注入原因

      写SQL语句的时候会用拼接字符串的方法,所以会发生SQL注入这种问题。

SQL注入后果

        如果是让别人发现了你的这个注入的漏洞的话,你的整个数据库有可能直接获得管理员的权限,也就是说这个数据库又可以能掌握在别人的手里,里面的数据想查询就查询,想删除就删除,想对你数据库怎样就怎样,后果很严重。

SQL注入解决方法:

        对于SQL注入的方法最简单的也就是把拼接字符串变成一个变量,在传递的时候传递一个变量可以避免拼接字符串SQL注入接下来我用代码来简单的给大家展现一下怎样避免这个问题.(又不对的欢迎大家指出!) 这两个类需要引入才可以

//SQLhelper 类中代码:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;using System.Configuration;Public class Sqlhelper(){Private SQLconnection conn=null;Private SQLcommend cmd=null;Public SQLhelper (){   Sting connStr=”Server=服务器名;database=数据库名;uid=sa;pwd=数据库密码”;   Conn=new Sqlconnection(connStr)}Private Sqlconnection conn(){   Return true;}Public int ExecuteNonQuery(string sql,SqlParameter[] paras){Int res;Using(cmd.new SqlCommand(sql,GetConn())){   Cmd.Parameters.AddRange(paras);    Res=cmd.ExecuteNonQuery}Return res;}}
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;插入方法类代码:Public Class categoryDAO{Private Sqlhelper sqlhelper=null;Public categoryDAO(){   sqlhelper=new Sqlhelper();} Public bool insert(string caName){Bool flag=false;String sql=”insert into 表名(字段名)values(@caName)”;SqlParameter[]paras=new SqlParameter[]{New Sqlparameter([email protected],caName)}Int res=sqlhelper.executeNonQuery(sql,paras);If(res>0){Flag=true}Return flag}  }

总结:  

上面是代码,[email protected]ql语句,[email protected]??个变量的类,所以就引入了SqlParameter这个类来存储这个变量,他的用法 大家自己去查一下或是直接在vs的编译器里面看他的类的参数的解释就可以了,很容易理解。别的就不说了,就到这里把! 谢谢大家用了这么长的时间看我的东西!走的时候留下一个评论哦! 嘿嘿!

1楼linlin8023061945分钟前
V5~~~哈哈~~~
  相关解决方案