Skip to content
← 返回压缩与归档列表
压缩与归档上手与对象

归档格式、完整性与安全恢复 ​

选择格式并检查成员路径与完整性 ​

需能区分源目录、目标文件和归档成员。固定文件 ZIP 示例依赖 Python 3.11+ 标准库与 zlib,只打包 first.txt、second.txt,拒绝已有输出和符号链接;它不解压外部包。本文另说明恢复前应检查的路径、完整性和资源预算。 示例未在本轮执行。

归档 压缩格式 ​

归档压缩格式区分打包与压缩。tar把多个成员组织成归档,gzip通常压缩单一字节流,ZIP兼具成员目录与独立压缩;扩展名只是提示,实际格式需由解析器确认。

归档 成员路径 ​

归档成员路径不能直接信任。绝对路径、父目录穿越和不同平台分隔符都可能让解压越出目标;先列清单并规范化每个成员,再决定允许哪些路径,不盲目extractall。

归档 CRC 与摘要 ​

归档CRC与摘要用途不同。CRC可发现常见随机损坏,SHA-256用于内容摘要比较,但都不能单独证明发布者身份;来源认证需要可信渠道或签名信任链。

依据与适用范围 ​

以上依据用于解释本文列明的规则;示例未执行,不代表产品全部能力或跨平台验证。历史资料的版本、账号与界面位置需按目标环境确认。

限制链接、展开资源与清单范围 ​

归档符号链接可能指向目标目录外,文件名看似安全也不足够。跨平台恢复权限、所有者和链接语义需独立审阅,本例只创建普通文件ZIP,不恢复任何外部归档。

归档 解压炸弹 ​

归档解压炸弹可用少量压缩字节产生巨大展开数据。先限制成员数量、单文件大小和总展开大小,压缩比只是辅助指标;检查声明大小也不能保证实际流读取不超预算。

归档 先列清单 ​

归档先列清单让读者看到成员名、压缩后大小与展开大小。清单审阅不写文件,不证明压缩数据完整;完整读取CRC检查属于另一层验证,本轮不执行任何例子。

调查损坏、密码与时间戳差异 ​

归档 文件损坏 ​

归档文件损坏可能表现为中央目录缺失或CRC不符。先复制损坏原件再调查来源,不能反复写入修复原件;若没有独立备份,工具可能只恢复部分成员,不能保证完整恢复。

归档 密码边界 ​

归档密码边界取决于具体加密方案和工具支持。设置密码不自动隐藏成员名,旧ZIP加密不等于现代认证加密;本例不实现加密,敏感资料应选择明确支持所需保护的方案。

归档 时间戳差异 ​

归档时间戳差异可能来自时区、精度和格式限制。比较备份时不要只看文件时间,内容摘要和成员路径更可靠;可复现打包还要固定顺序、时间和权限元数据,本文不宣称字节可复现。

继续阅读