【发布时间】:2012-03-31 11:55:09
【问题描述】:
什么是 NUL 或 NULL 字节以及转义如何处理 NULL 字节?
有人可以举个例子吗?
单引号和双引号很明显,但我不清楚NULL字节。
来自 PHP.net 的文档。
addslashes() 在需要在数据库查询等中引用的字符之前返回一个带有反斜杠的字符串。这些字符是单引号 (')、双引号 (")、反斜杠 () 和 NUL(NULL 字节)。
我尝试过这样的事情:
$a = NULL;
$str = " NULL example $a ";
echo addslashes($str);
但我没有在输出中看到任何添加的斜线。
【问题讨论】:
-
永远不要使用
addslashes转义数据库查询。 -
是的,没关系,我使用 PDO 特定的准备语句..
-
@Praveen:想知道您花了几分钟来写这个问题,而不是花几秒钟在谷歌搜索(是的,它提供了很多的relevant informationrelevant information第一页)
-
Null byte injection 在 HTTP 请求中发送空字符(十六进制或 ascii 字符零)时发生,用于修改从用户输入获取的磁盘读取或文件包含的文件路径。 addslashes 对此进行转义。
-
我不认为这是一个坏问题,他只是将 NULL 值与 NUL 字节混淆了。
标签: php