PHP中如何处理Null字符,有什么问题?
Admin 2022-10-12 群英技术资讯 860 次浏览
由于 PHP 的文件系统操作是基于 C 语言的函数的,所以它可能会以您意想不到的方式处理 Null 字符。 Null字符在 C 语言中用于标识字符串结束,一个完整的字符串是从其开头到遇见 Null 字符为止。 以下代码演示了类似的攻击:
Example #1 会被 Null 字符问题攻击的代码
<?php $file = $_GET['file']; // "../../etc/passwd\0" if (file_exists('/home/wwwrun/'.$file.'.php')) { // 文件/home/wwwrun/../../etc/passwd存在的话那么file_exists方法会返回true include '/home/wwwrun/'.$file.'.php'; // the file /etc/passwd will be included } ?>
因此,任何用于操作文件系统的字符串(特别是程序外部输入的字符串)都必须经过适当的检查。以下是上述例子的改进版本:
Example #2 验证输入的正确做法
<?php $file = $_GET['file']; // 对字符串进行白名单检查 switch ($file) { case 'main': case 'foo': case 'bar': include '/home/wwwrun/include/'.$file.'.php'; break; default: include '/home/wwwrun/include/main.php'; } ?>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
phpstorm修改php版本的方法:首先依次点击“file/setting/Langueages&Frameworks/php/Composer”项;然后在打开的界面中选择php版本号;最后确定保存即可。
php获取图片信息getimagesize,php自带函数。获取图片的类型,尺寸的方法有许多,该函数仅是方法之一。getimagesize()函数将测定任何GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM或WBMP图像文件的大小并返回图像的尺寸以及文件类型和一个可以用于普通HTML文件中IMG标记中的height
PHP的概念可能大多数从事编程行业或者在职编程人士都是很清楚的,然而,很多人都只知道这是一门服务端编程脚本,可以用来做一些WEB开发。
PHP数组与字符串互相转换如何实现?一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解一下,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!
数组的定义 数组的本质是管理和操作一组变量,数组中可以存储任意长度的数据,也可以存储任意类型的数据。数组中的单元称为元素,...
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008