xufulin2 2021-05-26 20:08 采纳率: 0%
浏览 71

MySQL在字符串精准匹配查询中使用binary关键字,是否可以彻底防止基于字符串的SQL注入?

CREATE TABLE tb_content(
    `id` BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    `content` CHAR(255) NOT NULL,
    INDEX index_content(content(255))
) AUTO_INCREMENT = 1 ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC;

# Java后台处理过insert插入的字符串(保证没有注入需要的特殊符号)
INSERT INTO tb_content(content)
VALUES('666lalala');

# Java后台只做PrepareStatement处理,直接使用 binary关键字 精准匹配 查询数据库
SELECT
    *
FROM
    tb_content
WHERE
    content = BINARY '666lalala';
  • 写回答

2条回答 默认 最新

  • CSDN专家-sinJack 2021-05-26 20:19
    关注

    这个问题,自己测试一下比较真实。

    评论

报告相同问题?

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表