使用tb框架开发还用防止sql注入吗?怎么防止SQL注入?求大神解答

php中文网
发布: 2016-08-04 09:20:23
原创
1370人浏览过

使用tb框架开发还用防止sql注入吗?怎么防止sql注入?求大神解答

回复内容:

使用tb框架开发还用防止sql注入吗?怎么防止sql注入?求大神解答

一个简单的:
用PDO操作数据库,要执行的sql语句中用:占位符或者?占位符代替直接拼接字符串,然后用bindParam来绑定参数并且规定参数的类型。
一个简单的例子

$pdo = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);//先新建一个PDO
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//开启PDO的报错
$sql = 'SELECT * FROM article WHERE id > ? ;';//使用?占位符
try{
    $stmt = $pdo->prepare(sql);//返回的statment的值赋给$stmt
    $stmt -> bindParam(要绑定的占位符的位置, 要绑定的变量 [, 数据类型]);//bindParam()是$stmt的方法而不是$pdo的方法
    $stmt -> execute();//执行sql语句
} catch (PDOException $e) {
        echo 'Execute SQL failed: ' . $e->getMessage();
        exit();
    }
登录后复制

使用mysqli或pdo的参数化查询

不管你是框架还是什么PDO和注入没有半毛钱的关系,有很多人都错误的理解PDO可以防止注入,想的试通过占符和预处理来防止,这些其实都不能起到100%的效果,自己写全局过滤,过滤掉sql关键字才是比较安全的做法

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号