A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ckz0409 初级黑马   /  2012-7-5 10:09  /  2478 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为防止黑客通过SQL注入漏洞的方式攻击,除了通过视频里将的将拼接字符串,改为参数传递,是不是还有其他的办法?想听听各位是的观点?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

11 个回复

倒序浏览
可以先使用正则验证输入的内容
把不合法的数据线过滤

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
1,SQL注入,这个很早的事情了,流行于ASP时代,主要是由于前台验证不够,后台又没有过滤不安全字符;
2,写一个函数,代替ASP中的Request函数,可以对一切的SQL注入Say NO;
3,查看和修改等的权限分离
4.,过滤所有用户输入
5,把所有单独出现的单引号改成两个单引号,防止攻击者修改SQL命令
6,用存储过程来执行所有的查询
7,完善用户输入的的长度和类型等验证
8,检查用户输入的合法性
9,将用户登录名称、密码等数据加密保存。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
对于SQL注入漏洞,对症下药,其实不外乎两种方法:
一个是,sql语句参数化

另一个就是sql关键字过滤

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
一般是没有正确过滤转义字符,这样一般会导致应用程序的终端用户对数据库上的语句实施操纵。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
可以过滤,将关键字直接换成其他的字符,也可以直接封杀关键字,只要输入关键字直接提示,禁止输入

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
使用参数化语句..

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
lz都说了,用sql关键字过滤,自己试试。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
SQL注入式攻击的防治:
1.普通用户与系统管理员用户的权限要有严格的区分。
2.强迫使用参数化语句。
3.加强对用户输入的验证。
4.多多使用SQL Server数据库自带的安全参数。
5.必要的情况下使用专业的漏洞扫描工具来寻找可能攻击的点。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 常静华 于 2012-7-6 17:50 编辑

学学Linq就好了!微软给封装好的!数据库操作代码不用写,只要微软不倒,黑客就攻破不了!DataParmeter也可以,你可以自己学学!!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
防止注入攻击最好的方式就是使用存储过程,因为参数化语句最后也是调用的存储过程!!!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
另外还有视图。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马