高效的防SQL注入函数

 

FUNCTION CHECKSTR(ISTR)
DIM ISTR_FORM,SQL_KILL,SQL_KILL_1,SQL_KILL_2,ISTR_KILL 
IF ISTR="" THEN EXIT FUNCTION
ISTR
=LCase(ISTR)
ISTR_FORM
=ISTR
SQL_KILL
="'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|set|;|from|="
SQL_KILL_1
=SPLIT(SQL_KILL,"|")
FOR EACH SQL_KILL_2 IN SQL_KILL_1
ISTR
=REPLACE(ISTR,SQL_KILL_2,"")
NEXT
CHECKSTR
=ISTR
ISTR_KILL
=REPLACE(ISTR_FORM,ISTR,"")
IF ISTR<>ISTR_FORM THEN
RESPONSE.WRITE 
"<script>alert('警告: 您提交的数据["&ISTR_FORM&"]中含有非法字符 ["&ISTR_KILL&"]');history.back();</Script>"
RESPONSE.END
END IF
END FUNCTION

 调用方法:

key=CHECKSTR(request.form("key"))

网上很多傻瓜式的防注入代码,虽然很易用,但是效率极低,对所有post的request.form与request.querystring都进行过滤检测,影响运行速度,以上函数可以在需要进行过滤的时候才调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值