Python中文
首页
教程
问答
标签
搜索
登录
注册
使用Python安全提取zip或tar
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在尝试将用户提交的zip和tar文件解压到一个目录中。zipfile的<a href="http://docs.python.org/library/zipfile.html#zipfile.ZipFile.extractall">extractall</a>方法(类似于tarfile的<a href="http://docs.python.org/library/tarfile.html#tarfile.TarFile.extractall">extractall</a>)的文档说明,路径可能是绝对的,也可能包含目标路径之外的<code>..</code>路径。相反,我可以自己使用<code>extract</code>,比如:</p> <pre><code>some_path = '/destination/path' some_zip = '/some/file.zip' zipf = zipfile.ZipFile(some_zip, mode='r') for subfile in zipf.namelist(): zipf.extract(subfile, some_path) </code></pre> <p>这安全吗?在这种情况下,存档中的文件是否可能在<code>some_path</code>之外结束?如果是,我如何才能确保文件永远不会出现在目标目录之外?</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>使用<code>ZipFile.infolist()</code>/<code>TarFile.next()</code>/<code>TarFile.getmembers()</code>获取有关存档中每个条目的信息,规范化路径,自己打开文件,使用<code>ZipFile.open()</code>/<code>TarFile.extractfile()</code>获取与条目类似的文件,然后自己复制条目数据。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
为什么我的神经网络模型的准确性不能在这个训练集上得到提高?
3 回答
为什么我的神经网络模型的权重变化不大?
8 回答
为什么我的神经网络的成本不断增加?
7 回答
为什么我的神经网络的输入pickle文件是19GB?
9 回答
为什么我的神经网络给属性错误?“非类型”对象没有属性“形状”
7 回答
为什么我的神经网络训练这么慢?
7 回答
为什么我的神经网络输出错误?
6 回答
为什么我的神经网络预测适用于MNIST手绘图像时是正确的,而适用于我自己的手绘图像时是不正确的?
8 回答
为什么我的神经网络验证精度比我的训练精度高,而且它们都是常数?
10 回答
为什么我的私人用户间聊天会显示在其他用户的聊天档案中?
10 回答
为什么我的积分的绝对误差估计值大于积分(使用scipy.integrate.nqad)?
6 回答
为什么我的积层回归器得分比它的组件差?
3 回答
为什么我的移动方法不起作用?
7 回答
为什么我的稀疏张量不能转换成张量
6 回答
为什么我的稀疏张量不能转换成张量?
3 回答
为什么我的程序“停止”了?
8 回答
为什么我的程序一直试图占用所有可用的CPU
10 回答
为什么我的程序不使用指定的代理
8 回答
为什么我的程序不工作(python帮助中的反向函数)?
6 回答
为什么我的程序不工作时,我使用多处理模块
5 回答