~/VibeHandbook
PDF grátis

Capítulo 18 · 05

Manipulação de arquivos e uploads

Permitir que usuários façam upload de arquivos é um campo minado silencioso, e a primeira versão da IA quase nunca fecha os buracos:

  • Valide o tipo e o tamanho. Sem limites, alguém envia um arquivo de 10 GB ou um executável. Verifique o conteúdo real, não só a extensão do nome do arquivo, que qualquer um pode renomear.
  • Nunca confie no nome do arquivo. Um nome como ../../etc/passwd pode fazer um manipulador ingênuo escrever fora da pasta pretendida (isso se chama path traversal, ou travessia de diretório). Gere seus próprios nomes seguros em vez de usar o que foi fornecido.
  • Não sirva uploads a partir da mesma origem do seu app, e não deixe arquivos enviados por usuários serem executados como código. Um arquivo fornecido pelo usuário que cai em uma pasta que seu servidor vai executar é um caminho direto para a invasão total.

Você não precisa construir tudo isso sozinho — um serviço de armazenamento cuida da maior parte — mas precisa pedir, porque a IA não vai oferecer isso por conta própria. "Adicione uma função de upload" te dá o caminho feliz. "Adicione uma função de upload que valide tipo e tamanho de arquivo, rejeite tudo que não seja imagem, e armazene os arquivos com nomes gerados" te dá algo mais próximo de seguro.

Quer offline?

Baixe o livro inteiro em PDF ou EPUB — grátis.