转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
ASP.NET操作SQL之SQL命令使用参数防注入攻击之代码示例一         ★★★★

ASP.NET操作SQL之SQL命令使用参数防注入攻击之代码示例一

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1121 更新时间:2009/6/9 2:33:54

        很多网友在开发网站时,由于是初学者,仅学会简单的几行SQL代码,诸如查询、更新、插入与删除等简单的SQL操作代码,诸不知,写SQL代码也是很有讲究的,尤其是访问量极高的网站,若不加以防范,往往造成一失足成千古恨的悲剧,为什么这样说呢,如果还不了解的话,到网上查询一下啥么是SQL注入式攻击!

        本章以实例讲解如何在SQL操作代码中使用参数!

        为什么要使用参数,不使用参数行吗?
 
        呵呵,不使用当然行了,并非一定要使用,只是出于安全考虑,最好养成良好习惯,良好的编程操作习惯,就是极有力的防范措施!

        不使用参数的SQL语句,可能存在SQL注入式攻击的危险,简单的讲,就是平时你设置的输入框,或者是查询框,一旦不使用参数,别人随便输入SQL代码当作查询或更新操作,那么数据库就完完了!

        比如说:

        如果你的查询语句是select * from admin where username='"&user&"' and password='"&pwd&"'"

  那么,如果我的用户名是:1' or '1'='1

  呵呵,你的查询语句将会变成:

        select * from admin where username='1 or '1'='1' and password='"&pwd&"'"

  这样你的查询语句就通过了,从而就可以进入你的管理界面。

        这还不算,如果在输入框中加入如下字符:
        ;delete from admin

        那你的数据库不就完完了吗?

        以下是使用防注入的带参数的示例代码:

       SqlConnection MyCon = new SqlConnection(ConfigurationSettings.AppSettings["con"]);
       SqlCommand MyCmd = new SqlCommand("select * from ClientName where 客户名
=@ClientName",MyCon); 
          
       MyCmd.Parameters.Add(new SqlParameter("@ClientName",SqlDbType.VarChar,8000));//加参数
       MyCmd.Parameters["@ClientName"].Value=ClientName.Text.ToString();//给参数赋值哦

       MyCon.Open();
       try
       {
        SqlDataReader MyReader;
        MyReader=MyCmd.ExecuteReader();
        if(MyReader.Read())
        {   
            //读取成功
        }
        else
        {
     
        }   
       }
       catch
       {
       }
       finally
       {
        MyCon.Close();
       }

      以上是代码部分,请参阅,为使程序更安全,可适当使用事物处理,关于事物处理已在本站其他文章有说明,敬请查看…


[办公软件]在Powerpoint中如何插入Flash动画  [办公软件]根除PowerPoint中Flash动画不能正常播放的问题
[办公软件]Office(Word,Excel)密码破解软件(Office Password…  [办公软件]powerpoin自定义播放FLASH动画
[办公软件]PPT插入Flash其属性无自定义的两种解决办法  [办公软件]如何在excel中插入flash动画
[Sql Server]ASP.NET利用SQLDMO实现数据库的备份与恢复下篇  [Sql Server]ASP.NET利用SQLDMO实现数据库的备份与恢复上篇
[Web开发]ASP.NET地址重写、使用伪静态、页面回发处理  [Web开发]asp.net(c#)发送邮件代码
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台