PHP防止SQL注入的例子
发布:smiling 来源: PHP粉丝网 添加日期:2018-10-16 10:36:07 浏览: 评论:0
使用prepared以及参数绑定查询可根本性防止sql注入的发生:SQL语句与参数分批传输到sql服务器的方式让利用字符串拼接的SQL注入没有了施展空间。
基本上你有两种方式完成上述方法:
使用PDO:
- $stmt = $pdo->prepare('SELECT * FROM employees WHERE name = :name');
- $stmt->execute(array('name' => $name));
- foreach ($stmt as $row) {
- // do something with $row
- }
2.使用MySQLi
- $stmt = $dbConnection->prepare('SELECT * FROM employees WHERE name = ?');
- $stmt->bind_param('s', $name);
- $stmt->execute();
- //phpfensi.com
- $result = $stmt->get_result();
- while ($row = $result->fetch_assoc()) {
- // do something with $row
- }
正确的配置数据库连接
注意当你用PDO方式访问MySQLs时,使用真正的prepared 语句方式并不是默认设置。所以你必须禁止模拟prepared模式:
- $dbConnection = new PDO('mysql:dbname=dbtest;host=127.0.0.1;charset=utf8', 'user', 'pass');
- $dbConnection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
- $dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
以上语句中对错误模式的设置并不是必须的,但我强烈推荐加上它。这样脚本就不会因为数据库的”Fatal Error”而停止,而是抛出一个PDOExceptions,从而让你能够抓取到这个异常。
Tags: PHP注入 SQL注入
相关文章
- ·常用的SQL注入攻击方法总结(2014-08-22)
- ·php中依赖注入深入理解(2018-10-13)
- ·ASP/PHP sql注入语句整理大全(2018-10-15)
- ·深入分析PHP对象注入详解(2018-10-16)
- ·PHP序列化/对象注入漏洞分析(2021-07-29)
- ·浅析PHP类的反射来实现依赖注入过程(2021-09-03)
- ·PHP用PDO防Sql注入注意事项(2014-08-21)
- ·php防止sql注入实现方法(2014-08-23)
- ·PHP防sql注入方法总结分析(2014-08-23)
- ·php中sql注入一些方法介绍(2014-08-23)
- ·sql安全之SQL注入漏洞拖库原理解析(2014-09-11)
- ·php防止SQL注入详解及防范(2020-06-18)
- ·PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)(2020-11-19)
- ·PHP中防止SQL注入方法详解(2021-05-04)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)