首页 新闻 会员 周边

关于SQL注入

0
[已解决问题] 解决于 2009-08-26 16:37

为了防止SQL注入,我在客户端用JS做了判断

function checksql(str)
{
var tszf = /<|>|<script>|drop|update|insert|alert|or/;
if(tszf.test(str))
return false;
else return true;
}

我是为了减轻服务器的压力把验证写在JS里.

使用上面的方法能够使文本框禁止输入一些SQL关键字,

这样做究竟安全吗?

有的黑客高手能够跳过JS验证吗?

 

Yuanet的主页 Yuanet | 初学一级 | 园豆:32
提问于:2009-08-26 15:32
< >
分享
最佳答案
0

这是绝对绝对不可靠的,web编程就有一句话“永远不要相信用户提交的数据”,客户端的验证及其不可靠的

简单的firebug就能搞定你这个验证,不说修改数据包这种高级方法了,所以服务端在带入查询之前是一定要进行安全过滤的,这也没有多少服务器开销呀

gently | 菜鸟二级 |园豆:225 | 2009-08-26 16:02
其他回答(3)
0

尽量在服务器中判断,可以使用以下方式

1、使用参数对象

2、使用存储过程

3、过滤特殊符号

不要太多相信客户提交的数据

Fencer | 园豆:7 (初学一级) | 2009-08-26 16:08
0

个人认为防止SQL注入有以下三种方法
1、过滤敏感字符
2、在ASP.Net中使用SqlParameters
3、用存储过程

sl2008 | 园豆:407 (菜鸟二级) | 2009-08-26 16:12
0

在ASP.Net中使用SqlParameters  

我的数据库操作都是用SqlParameters   ,可有时候还是会被注入

叶子绿了 | 园豆:50 (初学一级) | 2009-08-26 16:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册