Recursos · 117
Arquivos ZIP e TAR: extrair com limites de caminho e recursos
Validar caminhos, ligações e dados expandidos antes de promover os ficheiros extraídos.
Atualizado · 2 min
O que este guia ajuda a alcançar
- Escolher um destino isolado
- Limitar o trabalho efetivo
- Promover apenas resultados completos
Verificação rápida
- Política de caminhos e pasta isolada.
- Orçamentos explícitos e paragem por excesso real.
- Matriz de rejeições e prova de promoção completa.
Método passo a passo
- 1
Escolher um destino isolado
Extraia para uma pasta nova não pública com permissões mínimas. Rejeite caminhos absolutos, subida de diretórios, ligações e ficheiros especiais desnecessários. Verifique destinos resolvidos e colisões segundo o sistema, incluindo maiúsculas. Um prefixo textual não prova confinamento.
Política de caminhos e pasta isolada.
- 2
Limitar o trabalho efetivo
Defina limites por ficheiro e totais de bytes escritos, entradas, profundidade, tempo e recursos. Não dependa apenas do tamanho comprimido ou declarado. Rejeite arquivos aninhados desnecessários; se permitidos, partilhe um orçamento global. Atualize biblioteca e filtros.
Orçamentos explícitos e paragem por excesso real.
- 3
Promover apenas resultados completos
Teste ../, caminho absoluto, ligação, duplicado e excesso de orçamento. Uma falha deixa o lote sem publicação e não substitui ficheiros existentes. Valide tipos e conteúdo antes da promoção; limpe a pasta verificando o destino.
Matriz de rejeições e prova de promoção completa.
Caso de aceitação reproduzível
Exemplo fictício: estes dados não descrevem clientes nem resultados observados.
Ver dados do caso
{
"compressed_mb": 2,
"expanded_mb": 600,
"aggregate_budget_mb": 100,
"first_files_valid": true,
"expected": "stop_on_actual_overrun_and_do_not_promote"
}Decisão esperada
Exemplo fictício: 2 MB comprimidos produzem 600 MB com orçamento de 100 MB. Pare ao ultrapassar bytes escritos e mantenha o lote sem publicação, mesmo com primeiros ficheiros aparentemente válidos.
Python — tarfile extraction filters and further verification
O seu caderno de aceitação
Registe observações sobre os critérios deste guia. Um registo não é uma certificação.
O caderno não guarda automaticamente. Exporte antes de sair.
Os filtros não limitam exportações. As ações incluem bloqueios e critérios não examinados.
A importação substitui observações depois da sua confirmação.
Indicadores de gestão
| Indicador | O que mede | Primeira ação |
|---|---|---|
| Bytes expandidos observados | Soma dos bytes efetivamente escritos no lote | Comparar com orçamento total, não ZIP |
| Lotes rejeitados sem publicação | Lotes inválidos sem promoção / lotes inválidos testados | Incluir falhas durante extração |
Erros comuns
Perguntas frequentes
Um arquivo pequeno ou filtro garante segurança?
Não. Pode expandir muito. Acrescente limites de recursos, regras de caminhos e validação dos ficheiros extraídos.
Referências oficiais
As referências apoiam o método. Adapte as verificações ao seu contexto; elas não são uma certificação. Os títulos das referências originais e os documentos de origem podem estar em outro idioma.
Referências consultadas em .






