防止SQL注入
一、使用参数化输入。存储过程里尽量避免语句拼接。
二、对于一些数据库,必须设置权限,甚至设置到字段。
三、始终通过测试类型、长度、格式和范围来验证用户输入。
四、过滤敏感字符。
Function ReplaceStr(Str)
Str=Trim(Str)
Str=Replace(Str,"'","'")
Str=Replace(Str,";",";")
Str=Replace(Str," "," ")
Str=Replace(Str,"""","”")
Str=Replace(Str,"%","")
Str=Replace(Str,"__","")
Str=Replace(Str,"--","--")
Str=Replace(Str,"\","\")
Str=Replace(Str,"?","")
Str=Replace(Str,vbcrlf,"<br>")
Str=Replace(str,"0x0020","")
ReplaceStr=Str
End Function
相关文档:
1.建表
create table temp(rq varchar(10),shengfu nchar(1))
2.插入数据
insert into temp values('2005-05-09','胜')
insert into temp values('2005-05-09','胜')
insert into temp values('2005-05-09','负')
insert into temp values('2005-05-09','负')
insert into temp values('2005-05-10','胜')
insert i ......
讲解SQL Server中容易混淆的数据类型
(1)char、varchar、text和nchar、nvarchar、ntext
char和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字符数据。所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应 ......
(1)关于存储过程返回值问题(output,ruturn)
output存储过程:
alter proc usp_update
@count int output
as
set @count=(select count(*) from stu)
return存储过程:
alter proc usp_update
as
declare @count int
set @count=(select count(*) from stu)
r ......
对于服务器上数据的备份工作是网管员日常工作中最重要的工作之一,SQLServerAgent服务使得我们可以用SQL上的“数据库维护计划”功
能来自动备份数据,但最近我发现服务器上SQLServerAgent服务无法启动了,回想最近所做的操作,原来是因为我把SQL中
Builtin/Administrators这个帐号的服务器访问权限禁止 ......
使用PL/SQL developer远程访问oracle数据库时,首先要确定本机中装有oracle客户端。目前还不知道哪里单独的oracle客户端安装包。(因为我用的是oracle10g,oracle10g安装的过程中没有特定的客户端选项,所以我一般都是在本机用安装oracle所有功能)
在本机安装好oracle客户端后,我们在本机(即客户端)的oracle的安装目录下 ......