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

 黑糖老姜茶 发布于 2022-11-15 16:45

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

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

    2022-11-15 17:12 回答
  • 使用mysqli或pdo的参数化查询

    2022-11-15 17:12 回答
  • 一个简单的:
    用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();
        }
    2022-11-15 17:12 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有