仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 561|回复: 7
打印 上一主题 下一主题

[学习教程] ASP网页编程之数据库查询中的特别字符的成绩

[复制链接]
不帅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:09:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
大家可以自己去看一看.可以说看得想呕吐.以前有次下了个动网来看.里面连基本内置函数的保护措施(函数没防御性)都没有.难怪经常补这个补那个了.可能现在.NET版会好点吧数据|数据库|成绩在举行数据库的查询时,会常常碰到如许的情形:
  比方想在一个用户数据库中查询他的用户名和他的暗码,但刚好该用户利用的名字和暗码中有特别的字符,比方单引号,“|”号,双引号大概连字符“&”。
  比方他的名字是1"test,暗码是A|&900
  这时候当你实行以下的查询语句时,一定会报错:
SQL="SELECT*FROMSecurityLevelWHEREUID=""&UserID&"""
SQL=SQL&"ANDPWD=""&Password&"""

  由于你的SQL将会是如许:
SELECT*FROMSecurityLevelWHEREUID="1"test"ANDPWD="A|&900"

  在SQL中,"|"为支解字段用的,明显会堕落了。如今供应上面的几个函数专门用来处置这些头疼的器材:
FunctionReplaceStr(TextIn,ByValSearchStrAsString,_
ByValReplacementAsString,_
ByValCompModeAsInteger)


 DimWorkTextAsString,PointerAsInteger
 IfIsNull(TextIn)Then
  ReplaceStr=Null
 Else
  WorkText=TextIn
  Pointer=InStr(1,WorkText,SearchStr,CompMode)
  DoWhilePointer>0
   WorkText=Left(WorkText,Pointer-1)&Replacement&_
   Mid(WorkText,Pointer+Len(SearchStr))
   Pointer=InStr(Pointer+Len(Replacement),WorkText,SearchStr,CompMode)
  Loop
  ReplaceStr=WorkText
 EndIf
EndFunction

FunctionSQLFixup(TextIn)
 SQLFixup=ReplaceStr(TextIn,""","""",0)
EndFunction
FunctionJetSQLFixup(TextIn)
 DimTemp
 Temp=ReplaceStr(TextIn,""","""",0)
 JetSQLFixup=ReplaceStr(Temp,"|",""&chr(124)&"",0)
EndFunction

FunctionFindFirstFixup(TextIn)
 DimTemp
 Temp=ReplaceStr(TextIn,""",""&chr(39)&"",0)
 FindFirstFixup=ReplaceStr(Temp,"|",""&chr(124)&"",0)
EndFunction

  有了下面几个函数后,当你在实行一个sql前,请先利用
SQL="SELECT*FROMSecurityLevelWHEREUID=""&SQLFixup(UserID)&"""
SQL=SQL&"ANDPWD=""&SQLFixup(Password)&"""


道理也不难,但我总以为是否是贫苦?有无更好的办法?要末我想用javascript把持不利用这些标记。</p>由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况;
灵魂腐蚀 该用户已被删除
沙发
发表于 2015-1-20 07:40:28 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
山那边是海 该用户已被删除
板凳
发表于 2015-1-28 23:59:38 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
爱飞 该用户已被删除
地板
发表于 2015-2-5 23:03:16 | 只看该作者
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
深爱那片海 该用户已被删除
5#
发表于 2015-2-14 02:17:09 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
冷月葬花魂 该用户已被删除
6#
发表于 2015-3-4 04:05:45 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
变相怪杰 该用户已被删除
7#
发表于 2015-3-11 16:18:14 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
透明 该用户已被删除
8#
发表于 2015-3-27 03:39:27 | 只看该作者
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 05:19

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表