SECRET_KEY e cookies assinados
Entenda como o Flask assina dados da sessão com segurança.
SECRET_KEY e cookies assinados é uma aula grátis de Flask Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Flask Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Flask Academy inclui 4 aulas no total.
Onde as sessões ficam
Por padrão, o Flask armazena toda a sessão em um cookie no navegador do usuário, não no seu servidor. Isso tem grandes implicações.
O problema da adulteração
Se os dados ficam no navegador, um usuário pode editá-los. O Flask impede isso ao assinar o cookie, tornando as alterações detectáveis.
Conheça a CHAVE_SECRETA
A assinatura precisa de um segredo. A CHAVE_SECRETA é o valor privado que o Flask usa para marcar e verificar cada cookie de sessão. 🔑
app.config['SECRET_KEY'] = 'change-me'Sem chave, sem sessões
Acesse a sessão sem definir uma CHAVE_SECRETA e o Flask gerará um RuntimeError. Ele se recusa a assinar sem nada.
Assinado, não criptografado
Importante: um cookie de sessão padrão é assinado, não criptografado. Qualquer pessoa pode lê-lo, portanto nunca armazene segredos verdadeiros nele.
Como a assinatura verifica os dados
A cada solicitação, o Flask recalcula a assinatura a partir do cookie e da chave. Uma divergência indica adulteração, então a sessão é rejeitada.
Torne-a longa e aleatória
Uma CHAVE_SECRETA forte deve ser longa e imprevisível. Gere uma usando o módulo secrets em vez de digitar uma palavra.
import secrets
key = secrets.token_hex(32)Nunca a deixe fixa no Git
Mantenha a CHAVE_SECRETA fora do controle de versão. Carregue-a de uma variável de ambiente para que cada implantação tenha seu próprio valor.
import os
app.config['SECRET_KEY'] = os.environ['SECRET_KEY']Altere a chave periodicamente
Altere a CHAVE_SECRETA e todas as assinaturas de sessão existentes deixarão de corresponder. Todos os usuários sairão ao mesmo tempo.
A mesma chave em todos os lugares
Você executa várias instâncias do aplicativo atrás de um balanceador de carga? Elas precisam compartilhar uma CHAVE_SECRETA, ou cada uma rejeitará os cookies das outras.
Alternativa no servidor
Precisa de dados de sessão maiores ou ocultos? Extensões como Flask-Session os mantêm no servidor e armazenam apenas um identificador no cookie.
Verificação rápida
Pense no que o cookie de sessão padrão do Flask realmente protege.
Recapitulação
Você viu que a CHAVE_SECRETA assina os cookies de sessão para detectar adulterações. Torne-a longa, carregue-a do ambiente e nunca a envie para o repositório. 🔐
Perguntas Frequentes
A aula “SECRET_KEY e cookies assinados” é grátis?
Sim — o texto completo de “SECRET_KEY e cookies assinados” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Flask Academy, atualize para CoddyKit PRO. O curso de Flask Academy inclui 4 aulas no total.
O que vou aprender em “SECRET_KEY e cookies assinados”?
Entenda como o Flask assina dados da sessão com segurança. Você pratica Flask Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Flask Academy?
Nenhuma experiência prévia é necessária. Flask Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “SECRET_KEY e cookies assinados”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Flask Academy?
Sim. Cada aula de Flask Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Defina e leia o dicionário session
- SECRET_KEY e cookies assinados
- Defina cookies personalizados em uma resposta
- Mensagens flash entre solicitações