Extraiga de forma segura zip o tar con Python
Estoy tratando de extraer los archivos zip y tar enviados por el usuario a un directorio. La documentación para zipfile's.extraer todo método (de manera similar con tarfileextraer todo) indica que es posible que las rutas sean absolutas o contengan..
Rutas que van fuera de la ruta de destino. En su lugar, podría usarextract
a mí mismo, así:
<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>
¿Es esto seguro? ¿Es posible que un archivo en el archivo termine fuera desome_path
¿en este caso? Si es así, ¿de qué manera puedo garantizar que los archivos nunca terminen fuera del directorio de destino?