|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
asp对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。初学|毛病 1.纪录集封闭之前再次翻开:
------------------------------------
sql="select*fromtest"
rs.opensql,conn,1,1
ifnotrs.eofthen
dimmyName
myName=rs("name")
endif
sql="select*frommyBook"
rs.opensql,conn,1,1
-------------------------------------
处理:在第二次rs.open之前先封闭rs.close
或
setrs1=server.createobject
rs1.opensql,conn,1,1
2,用SQL关头字做表名或字段名
-------------------------------------
sql="select*fromuser"
rs.opensql,conn,1,1
-------------------------------------
user为sql关头字
处理:改成
sql="select*from[user]"
3,用锁定体例去停止update
-------------------------------------
sql="select*from[user]"
rs.opensql,conn,1,1
rs.addnew
或
rs("userName")="aa"
rs.update
-------------------------------------
以后纪录集的翻开体例为只读
处理:
改成
rs.opensql,conn,1,3
4,在查询语句中采取的对照字段值与字段类型不符
-----------------------------------------
sql="select*from[user]whereid="&myID&""
rs.opensql,conn,1,1
-----------------------------------------
假定表中设计ID为数字型,那末些时失足。
处理:
sql="select*from[user]whereid="&myID
5,未反省变量值而失足
-----------------------------------------
sql="select*from[user]whereid="&myID
rs.opensql,conn,1,1
-----------------------------------------
假定myID变量此时价为null,那末sql将成为
sql="select*from[user]whereid="
处理:
在后面加上
ifisnull(myID)then失足提醒
6,未反省变量值类型而失足
-----------------------------------------
sql="select*from[user]whereid="&myID
rs.opensql,conn,1,1
-----------------------------------------
假定id为数字型,myID变量此时价不为null,但为字符,好比myID此时为"aa"
那末sql将成为
sql="select*from[user]whereid=aa"
处理:
在后面加上
ifisnumeric(myID)=falsethen失足提醒
这也能够无效避免sqlinjection破绽进击。
7,因为数据库文件地点目次的NTFS权限而引发的不克不及更新。数据库或对象为只读"毛病。
申明:
WIN2K体系延续了WINNT体系的NTFS权限。
关于体系中的文夹都有默许的平安设置。
而经由过程HTTP对WWW会见时的体系默许用户是iusr_盘算机名用户,它属于guest组。
当经由过程HTTP会见时,可以ASP或JSP,也或是PHP或.NET法式对数据停止修正操作:
好比:
当翻开某一个文章时,法式设定,文章的浏览次数=原浏览次数+1
履行
conn.execute("updateartssetclicks=clicks+1whereid=n")
语句时,假如iusr_盘算机名用户没有对数据库的写权限时,就会失足.
处理办法:
找到数据库地点目次
右键》属性》平安选项卡》设置iusr_盘算机名用户的写权限(固然,也能够是everyone)问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时. |
|