最简单的最高效的过滤SQL脚本防注入
.errInfo
{
border:solid 1px #d00;
background:#F7F0F7;
}
1.URL地址防注入:
//过滤URL非法SQL字符
var sUrl=location.search.toLowerCase();
var sQuery=sUrl.substring(sUrl.indexOf("=")+1);
re=/select|update|delete|truncate|join|union|exec|insert|drop|count|’|"|=|;|>|<|%/i;
if(re.test(sQuery))
{
alert("请勿输入非法字符");
location.href=sUrl.replace(sQuery,"");
}
2.输入文本框防注入:
引入以下js
//防止SQL注入
function AntiSqlValid(oField )
{
re= /select|update|delete|exec|count|’|"|=|;|>|<|%/i;
if ( re.test(oField.value) )
{
//alert("请您不要在参数中输入特殊字符和SQL关键字!"); //注意中文乱码
oField.value = ”;
oField.className="errInfo";
oField.focus();
return false;
}
在需要防注入的输入文本框添加如下方法
txtName.Attributes.Add("onblur", "AntiSqlValid(this)");//防止Sql脚本注入
相关文档:
declare @str varchar(50)
declare @i int
set @str = ''
set @i=0
while @i<50
begin
set @str = ......
SQL面试题(1)
create table testtable1
(
id int IDENTITY,
department varchar(12)
)
select * from testtable1
insert into testtable1 values('设计')
insert into testtable1 values('市场')
insert into testtable1 values('售后')
/*
结果
id department
1 设计
2 市场
3& ......
一、数据库版本
数据压缩在Sql Server 2008上才支持,2005不行,并且还要是企业版。我常常忘了这一点,在2005的Studio上闹出语法错误的状况,折腾浪费了好一阵才醒悟过来。
二、压缩状况
大约可以节省20%-50%的空间,并且行压缩和页压缩有所区别。
但让我失望的是,像含有Varchar(max),xml这种字段类型的,反而似乎压 ......
定义操作员
SQL Server代理完成一个作业后,通知操作员的方法有多种。
例如,通过命令系统把相应的消息写入Windows NT事件日志中,以便通知系统管理员反复读取此日志。
另外一种更好的选择就是使用电子邮件、传呼机或网络传送把警报消息通知给操作员。操作员是SQL Server代理发送消息的接收者,操作员可以在一个作业之前 ......
一个项目完成后数据库中会有很多无用的测试数据,可以使用delete * 将数据全部删除,但自增长列(一般是主键)基数不会归零,使用TRUNCATE函数可以将表中数据全部删除,并且将自增长列基数归零。一定要注意,表中的数据全部删除了。它的语法如下:
TRUNCATE TABLE tableName –其中tableName中所要操作的数据
......