Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php I';我正在为CMS编写一个插件,该插件将处理图像(调整图像大小)。如何确保只有某些目录是正常的?_Php_Security - Fatal编程技术网

Php I';我正在为CMS编写一个插件,该插件将处理图像(调整图像大小)。如何确保只有某些目录是正常的?

Php I';我正在为CMS编写一个插件,该插件将处理图像(调整图像大小)。如何确保只有某些目录是正常的?,php,security,Php,Security,我正在为CMS编写一个插件,该插件将操作图像(调整图像大小)。如何确保只有某些目录是正常的 我希望用户能够定义他们希望脚本在哪个目录中查找(并查找所有图像) 我知道我可以要求$\u POST['sub_directory_to_look_in']和glob('gallers/'.$\u POST['sub_directory_to_look_in'./*.jpg')并确保$\u POST['sub\u directory\u to\u look\u in']没有'../',但这样做是否存在安全问

我正在为CMS编写一个插件,该插件将操作图像(调整图像大小)。如何确保只有某些目录是正常的

我希望用户能够定义他们希望脚本在哪个目录中查找(并查找所有图像)

我知道我可以要求
$\u POST['sub_directory_to_look_in']
glob('gallers/'.$\u POST['sub_directory_to_look_in'./*.jpg')
并确保
$\u POST['sub\u directory\u to\u look\u in']
没有
'../'
,但这样做是否存在安全问题


我已经研究了
basedir
函数,但不确定这是否有助于

为了安全起见,请使用与目标目录相关的唯一标识键(例如用户id的盐渍散列)在用户与其内容之间进行映射

这样,您的查询参数甚至不应该包含关于您的基础设施的信息,而应该只包含关于要传输的数据的信息,包括目标目的地的类型(例如,不是应该位于何处,而是应该相对位于何处)

注意:如果系统用户可以浏览,您可以使用
realpath
解析给定有效路径的符号链接


这个问题可能与

有关。为了安全起见,请使用与目标目录相关的唯一标识键(如用户id的盐哈希)在用户与其内容之间进行映射

这样,您的查询参数甚至不应该包含关于您的基础设施的信息,而应该只包含关于要传输的数据的信息,包括目标目的地的类型(例如,不是应该位于何处,而是应该相对位于何处)

注意:如果系统用户可以浏览,您可以使用
realpath
解析给定有效路径的符号链接


这个问题可能与

您如何处理找到的文件有关?对于图像和拉链:解压缩,您如何处理找到的文件?对于图像和拉链,您如何调整大小、裁剪等:解压缩