【发布时间】:2021-03-24 23:37:55
【问题描述】:
我想知道如何删除 URL 中的空字节 (\0)。我知道,从 PHP 5.3.4 开始,这个安全漏洞已经得到修复,但也许可以从运行 php 5.3 或更低版本的其他服务器上的恶意用户传递一些东西。使用查询字符串可能会发生这种情况,我想了解如何保护我的 URL 以释放我的脚本,而不会对这个错误产生安全隐患。
示例:http://www.example.com/download.php?text=\0
我有两个假设:
A)$text = str_replace("\0", "", $text);
B)$text = str_replace('\0', '', $text);
什么版本是安全正确的?甲还是乙?谢谢。
PS:我在 CentOS 上运行 php 5.6.17... 使用 Apache 2.4。
【问题讨论】:
标签: php null byte query-string str-replace