注册

PHP中使用dm_escape_string转义防注入

李少文 2024/09/13 350 3

【DM版本】:DM8
【操作系统】:mac
【CPU】:x86
【问题描述】*:PHP8 拼接字符串变量作为SQL使用dm_escape_string

1.会转义双引号和换行符,但不会转\,导致:换行和字符串\n都会是\n,无法区分;
2.保存转义后的内容后,转义符还在,导致:存入值和输入值不一致,取出来就多了转义符。比如"变成了"


1,$str = 'a"b"
c\nd\e/f';
echo dm_escape_string($str);
2,转义后: a"b\"\nc\nd
3,存入数据库:a"b\"\nc\nd\

出现两个\n,双引号多了
也还不知道有什么其他符号转义存储了。。。

回答 0
暂无回答
扫一扫
联系客服