PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用array_slice删除scandir点和点点条目是否安全?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我想在我的PHP脚本中使用带有scandir的array_slice.

正常用法

<?PHP

$files = scandir('/path/to/files');

foreach($files as $filE) {
    if($file != '.' && $file != '..') {
        // Do something here...
    }
}

我的例子:

<?PHP

$files = array_slice(scandir('/path/to/files'), 2);

foreach($files as $filE) {
    // Do something here...
}

我的疑问是,使用这种类型的逻辑是否安全?

解决方法:

绝对不安全.下面的示例创建一个目录,其中包含名为!的文件.当scandir对结果进行排序时,!出现在之前.和..:

@H_467_6@mkdir('test');
touch('test/!');
print_r(scandir('test'));
unlink('test/!');
rmdir('test');

输出

Array
(
    [0] => !
    [1] => .
    [2] => ..
)

通常,对于所有以.之前的字符开头的文件名,这都是一个问题.其中包括一些不可打印的字符,这些字符在现实世界的数据中可能不存在,但它也适用于常见的标点符号,包括! #$%& ()-.

即使它起作用了,我也不推荐这样做,因为使用array_slice会使代码的意图变得不清楚.

大佬总结

以上是大佬教程为你收集整理的使用array_slice删除scandir点和点点条目是否安全?全部内容,希望文章能够帮你解决使用array_slice删除scandir点和点点条目是否安全?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: