防止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
相关文档:
讲解SQL Server中容易混淆的数据类型
(1)char、varchar、text和nchar、nvarchar、ntext
char和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字符数据。所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应 ......
如何把Access转成SQL Server的方法介绍
很多朋友想用SQL 2000数据库的编程方法,但是却又苦于自己是学Access的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---将Access转化成SQL 2000的方法和注意事项。首先,我说的是在Access 2000,SQL 2000之间转换,其他的我也还没有尝试过,希 ......
日期类型概述
SQL Server中的日期类型包括datetime和smalldatetime,仅能处理可以识别为1753年~9999年间的日期的值,没有单独的日期型或时间型。
1.datetime
datetime类型处理从1753年1月1日~9999年12月31日的日期和时间数据,精确度为百分之三秒。
即:对于0.000~0.001、0.009的日期值,调整为0.000;对于 ......
一、PL/SQL出现的目的
结构化查询语言(Structured Query
Language,简称SQL)是用来访问关系型数据库一种通用语言,它属于第四代语言(4GL),其执行特点是非过程化,即不用指明执行的具体方法和途
径,而是简单的调用相应语句来直接取得结果即可。显然,这种不关注任何实现细节的语言对于开发者来说有着极大的 ......
如果我们的SQL Server要保证高可用性,那么可以采用故障转移群集。最简单的故障转移群集是两台服务器,一台做活动的服务器,另一台做备用服务器,这就是AP模式的Cluster。另外一个模式就是AA模式,也就是两台服务器都是运行SQL Server实例。
SQL Server不像Oracle一样有RAC,所以不可能说两台服务器同时运行同一个实例,想 ......