当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-01-25 23:11:00  来源:本站整理

SQL语句中特别字符的处理办法[MSSQL防范]

赞助商链接



  本文“SQL语句中特别字符的处理办法[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

数据库的利用时,常常会在sql语句中碰到一些特别字符,那么这些字符应当若何处理呢?下面就将为您介绍SQL语句中特别字符的处理办法,供您参考.

在sql语句中,有些特别字符,是sql保存的.比方 ' [ ]  等.我们可以先看看它们的用法.

当需求查询某数据时,加入条件语句,或着当你需求insert记录时,我们用  '  来将字符范例的数据惹起来.比方:
Select * from Customers where City = 'London'

当表的名字或列的名字中,含有空格等一些特别字符时,我们需求用[] 将表名惹起来,奉告语法解析器,[]号内的才是一个完好的名称.比方

Select * from [Order Details]

假如,字符数据中,含有 '  改怎么办呢?其实,好多人在这里并没有处理字符川中 ' 标记,才造成sql 注射危险.就那上面的那个例子.在Sql语句拼接的时代,比方

string sql = "select * from Customers where CustomerID = '" + temp + "'";

假如,我给temp赋值为 Tom' or 1=1 --- 
那么你拼接起来的语句为 select * from Customers where CustomerID = 'Tom' or 1=1 --- '
哈哈,1=1 衡为真,---会把背面的sql语句注释掉.而前面因为有输入的 ' 而使的语句是合理的.那or的条件,会把全部的记录都选出来.这就是sql注入.在做用户登陆时,假如没有处理该问题,那你的系统受危害的大概性会很高的.
若何处理字符数据中的 ' 标记呢? 办法很简单,用两个 ' 标记替换一个. 比方,其实际传入的值为Lon'don,处理后为
Select * from Customers where City = 'Lon''don'
便可以了.

假如表或列的名称中含有 [ 或 ] 字符呢?比方Select * from [Order] Details],那中间 ] 标记岂不是先和第一个[ 配了.背面的就是不法的了.怎么办呢? 简单,利用 ]] 替换 ] .关于[,则无须处理.那就该为
Select * from [Order]] Details].

<
  以上是“SQL语句中特别字符的处理办法[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • SQL语句分组获得记录的第一条数据的办法
  • SQL语句(T-SQL汇总) 用T-SQL画出这些图形
  • SQL语句删除2条反复数据一条保存一条
  • 在SQL Server中利用SQL语句查询一个存储历程被别的全部的存储历程引用的存储历程名
  • sqlserver 改正列名及表名的sql语句
  • SQLServer顶用T—SQL号令查询一个数据库中有哪些表的sql语句
  • SQLServer中字符串左对齐或右对齐显示的sql语句
  • 解析SQL语句性能3种办法分享
  • sqlserver中去除字符串中持续的脱离符的sql语句
  • sqlserver中求字符串中汉字的个数的sql语句
  • 50个常用sql语句 网上风行的学生选课表的例子
  • Sql Server 索引利用情形及优化的相关Sql语句分享
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .