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';MySQL在字符串精准匹配查询中使用binary关键字,是否可以彻底防止基于字符串的SQL注入?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-