简单的sql注入及预防
来源:互联网 发布:富阳法院拍卖淘宝网 编辑:程序博客网 时间:2024/06/06 00:00
sql注入就是通过表单或者url来像服务器中插入sql语句,从而达到自己的目的,获取数据,修改数据。
例如输入' or 1='1;这样就使搜索的条件语句变成了一定成立的。
用sql注入就可以实现登录之类的。但是像我对密码用了md5加密,这样对密码的简单sql注入就失去了效果。
像这样只获得了读取的功能,并不是很有用。我们就想要获取数据表名,从而实现增删改的功能。
通过例如' or 1=(select count(*) from a)--;来猜测数据库表的名。--是mysql的注释,这样就把后面的'注释掉了。
慢慢根据字典测出来表名后,就可以对这个表进行各种各样的操作了。
怎么预防sql注入?
一般使用addslashes,PHP一般默认对所有get,post和cookie自动运行addslashes
1.表单要对用户的输入进行校验,设置正则表达式,限制长度,限制某些字符的输入。
2.不用使用动态拼接sql语句,使用参数化的sql;
3.不要使用管理员权限连接数据库,应该分几个单独的权限来连接数据库。
4.不要对重要的内容直接明文使用,而是通过加密来处理。如密码
5.数据库的异常尽量少给报错信息,否则对方会从报错信息中获取信息,
或者给出报错信息,只不过你把报错信息处理让对方看不懂,只有你可以看懂。
6.预编译
阅读全文
0 0
- 简单的sql注入及预防
- 简单的讲述SQL注入的原理以及预防~~~~
- 预防JSP的SQL注入问题
- 预防sql注入安全的函数
- 预防sql注入安全的函数
- 关于怎么预防sql注入的方法
- Spring MVC里面的预防 SQL 注入
- .NET预防SQL注入的简易代码
- sql注入预防
- sql注入预防
- 如何预防SQL注入
- sql注入和预防
- thinkphp 3.2预防sql注入、对查询的sql过滤
- 预防SQL注入漏洞函数
- 预防SQL注入式攻击
- Joomla中预防SQL注入
- PHP之预防sql注入
- 预防SQL注入 学习笔记
- Android中多国语言对应values文件夹命名
- 作为一个有系统权限的Launcher应该干的事情
- Swift 笔记-01 Swift简介
- 使用NODEJS解密bitshares网页钱包备份文件
- 计蒜客 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B coin(求乘法逆元)
- 简单的sql注入及预防
- ubuntu下面的chrome浏览器增加标题栏
- UILabel标签文字过长时的显示方式
- Main 方法
- vue(8)
- Java多线程(八):锁对象Lock-同步问题更完美的处理方式
- Spring源码分析之RequestContextListener
- npm 权限问题 报错4048
- CGAL 4.10.1 官方文档 软件包概述 ——几何内核类