深入了解SQL注入和预防措施


本文摘自PHP中文网,作者php中世界最好的语言,侵删。

本篇文章通过SQL和MYSQL的对比,以及SQL注入的原理,以及如何预防SQL注入等方面,详细分析了SQL注入相关知识点,希望可以帮助到一些有需要的人。

1 .什么是sql注入(Sql injection)?

Sql注入是一种将sql代码添加到输入参数中,传递到Sql服务器解析并执行的一种攻击手法

2. 怎么产生的?

Web开发人员无法保证所有的输入都已经过滤

攻击者利用发送给Sql服务器的输入数据构造可执行的Sql代码

数据库未做相应的安全配置

3.如何寻找sql漏洞?

识别web应用中所有输入点

了解哪些类型的请求会触发异常?(特殊字符”或')

检测服务器响应中的异常

4. 如何进行SQL注入攻击?

数字注入:

Select * from tablename where id=1 or 1=1;

字符串注入:

Mysql的注释特性:

#与--号后面的被注释掉,无论密码输入的是什么,都能正确查询。请点击此处输入图片描述

5. 如何预防sql注入?

严格检查输入格式:is_numeric(var),tp5的validate验证,字符串的注入采用正则看是否在[A-Za-z]之间

转义:addslashes(str)、

mysqli_escape_string()函数进行转义

6.MySQLi的预编译机制

参数化绑定

参数化绑定,防止 SQL 注入的又一道屏障。php MySQLi 和 PDO 均提供这样的功能。比如 MySQLi 可以这样去查询:

PDO 的更是方便,比如:

相关推荐:

sql注入网站的方法

PHP简单高效防御sql注入的方法分享

PHP防止sql注入的方法讲解

以上就是深入了解SQL注入和预防措施的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

解决plsql developer中数据库插入数据乱码问题(ssm项目开发)

sql的中文全称是什么

sqlserver 跨库查询实现方法

sqlserver 注释符 单行注释与多行注释

sql语句练习实例之五 wms系统中的关于lifo或fifo的问题分析

sql中使用between查询包含边界吗?

mysql建表常用的sql语句汇总

sqlserver将数据库中的表复制到另一个数据库

postgresql 实现列转行问题

python实现sql注入检测插件实例代码

更多相关阅读请进入《sql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...