数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

利用instr()函数防止SQL注入攻击[2]


发布日期:2018年06月02日
 
利用instr()函数防止SQL注入攻击[2]
string 为零长度 start

string 为 Null Null

string 没有找到

在 string 中找到 string 找到匹配字符串的位置

start > Len(string)

下面的示例利用 InStr 搜索字符串

Dim SearchString SearchChar MyPos

SearchString =XXpXXpXXPXXP 要在其中搜索的字符串

SearchChar = P 搜索 P

MyPos = Instr( SearchString SearchChar ) 文本比较从第四个字符开始返回

MyPos = Instr( SearchString SearchChar ) 二进制比较从第个字符开始返回

MyPos = Instr(SearchString SearchChar) 返回

缺省为二进制比较(最后一个参数省略)

MyPos = Instr( SearchString W) 二进制比较从第个字符开始返回 (没有找到 W)

注意 InStrB 函数使用包含在字符串中的字节数据所以 InStrB 返回的不是一个字符串在另一个字符串中第一次出现的字符位置而是字节位置

总结概括instr的功能就是返回字符或字符串在另一个字符串中第一次出现的位置好了让我们在看看哪个代码

if instr(Request(id) )> or instr(Request(id))> then

含义比较 字符(空格)与字符()在request(id)中的具体位置(进行二进制制比较)假如找到了(空格)与()字符那么就是then 后的语句!

现在大家理解这个含义了吧!

当我看第一眼的时候我就说假如在asp?Id=加上字符()等等一些字符时不是造样出错吗?(是回答的肯定的)

估计又有人说那我会在if instr(Request(id) )> or instr(Request(id))> then 语句中在加些字符比如改为if instr(Request(id) )> or instr(Request(id))> or instr(Request(id);)> or instr(Request(id) )> then 等等你还可以在后面加呵呵!(这个好啊!不过比较烂)是这样加上后确实能桃过一些所谓的黑客们的手的!

其实没必要大家忘了instr(Request(id) )>这句话了吗他还和(空格)比较了啊!只要有这句话那些所谓的黑客们的and = 不就没用了吗?

[] []

               

上一篇:用最简单的步骤备份SQL数据库的文件到本地

下一篇:利用instr()函数防止SQL注入攻击[1]