All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
用C#对DBF数据库的操作_[Asp.Net教程]
在DataGrid中为Footer添加自定义内容_[Asp.Net教程]
PHP脚本的8个技巧(6)PHP和COM_php资料_编程技术
AJAX.NET框架构建Lookup服务器控件_[Asp.Net教程]
PHP基础:PHP4和PHP5的配置异同比较_php资料_编程技术
ASP.NET,2.0中CSS失效解决方案_.net资料_编程技术
如何利用PHP和CSS改变网页文字大小_php资料_编程技术
HTML教程-收集的常用的HTML标签(6)_[Html教程]
资深网管教你一步步安装MYSQL数据库_php资料_编程技术
ajax缓存解决123_[AJAX教程]
Reading number is top 10 pictures
The money of more than 100 countries and regions7
南昌铁路局宜春车务段攸县车站铁路职工福利房被开发商侵占
美丽的少女1
From China fortress sora aoi2
Soong ching ling's former residence1
海底兵马俑
Flow chart of breast implants
中国女孩大胆自拍,显露完美身材4
The household design, do not do bridal chamber a pity
身材野火台灣美女1
Download software ranking
C语言教程TXT
Sora aoi‘s film--Lust fan wall
Unix video tutorial8
VC++6.0简体中文版
Ashlynn Video1
实战黑客不求人
Proficient in JavaScript
传奇私服架设教程-chm
金山office2007
asp.netWeb服务器高级编程
归海一刀 published in(发表于) 2014/2/1 0:12:04 Edit(编辑)
Sql,server传给语句的输入数据验证_[SQL,Server教程]

Sql,server传给语句的输入数据验证_[SQL,Server教程]

Sql server传给语句的输入数据验证_[SQL Server教程]

网页通常是进行SQL查寻的输入数据的前台,也作为查寻结果返还的界面,许多网络程序员还不熟悉如何将输入数据转换为一个SQL语句, 同时他们也忘记了没有预处理,数据不能按SQL语句原样传给网页的原则。
  
  当用户数据传给SQL语句时, 最常见的错误通常是这样的:


  strUserData=request.form("T1")
  
  strSQLData="select Name from UserNames where Name='" & strUserData & '"
  
  这里strSQLData是被用于SQL语局去检索数据库(这个特别的例子是用VBScript写的,但对于任何检索数据库的脚本语言都是可行的)。
  
  表面上看这种结构没有什么问题,但如果传给form T1的字符串包含单引号(转换为变量strUserData), 如象David's Friend的字符串,SQL语句就会报错。
  
  原因很简单:单引号用来在SQL语句中描述字符串数据。在上面的例子中,变量strUserData中的单引号会被当成语巨中Name='部分的结束符,而不是相应的字符串。
  
  解决方法是用两个单引号替代单个单引号,这样David's Friend可以变成 David''s Friend, 整个字符串会变为:Select Name from UserNames where Name='David''s Friend'
  
  在网页上解决这个问题的方法是写一个函数来永久性用两个单引号替代单个单引号。
  
  Function Quotes(strInput)
  
  strInput=replace(strInput,"'","''")
  
  End Function
  
  这个函数可以被放到任何有SQL Server检索的网页中strUserData=Quotes(request.form("T1"))
  
  输入数据在传给SQL Server前应当以这种方式进行净化, 如何完成这点取决于使用的脚本语言种类。
  
  除了造成SQL失败的结果外,另一个这种错误的严重副作用是一个恶意的聪明用户可以利用这种错误, 让SQL Server执行破坏性的代码。
来源:网络





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.