Segurança Web e sessões

Origem, sessões, autenticação e biometria, CSP/SRI, XSS, SQL, CSRF e autorização.

TLDR

Perguntar sobre esta página

ChatGPTClaudePerplexityGrokGeminiCopiar e abrirDeepSeekCopiar e abrir

Origem, site e autorização

  • Origem é esquema, host e porta efetiva. Caminhos distintos podem partilhar origem; mudar esquema, subdomínio ou porta muda-a. Site agrupa por domínio registável e esquema; subdomínios podem ser same-site e cross-origin.
  • Mesma origem restringe leituras entre origens, não todos os pedidos. CORS concede leituras; não autoriza no servidor.
  • XS-Leaks inferem estado por sinais como load ou error, sem ler o corpo. Retira o sinal ou impede a incorporação relevante.
  • Preflight depende do pedido, não de efeitos no servidor. postMessage entre frames exige validar origem, remetente e dados.

Sessões e autenticação

  • Usa identificador imprevisível, fora de URLs e logs. Renova após login, expira e invalida no servidor. Apagar o cookie local não invalida cópia roubada.
  • Neste modelo, o cookie é referência opaca; autoridade vive na sessão e verifica-se por operação. Autoridade no cliente exigiria assinatura ou MAC com chave do servidor, expiração e autorização por operação.
  • Secure restringe a transporte seguro; HttpOnly esconde de JavaScript mas não impede ações com a sessão; SameSite=Lax restringe envio cross-site sem autorizar operações. Sec-Fetch-* ajuda contexto, não autoriza.
  • Palavras-passe exigem função de derivação como Argon2id, sal distinto e custo adequado. MFA combina categorias independentes. Protege recuperação. Sal não impede reutilização noutro serviço. U2F liga desafio ao serviço.
  • Desafio-resposta exige nonce novo, prova ligada a identidade e contexto, aceitação só do pendente e invalidação após uso. MAC antigo não prova presença.

Biometria

FAR=impostores aceitestentativas de impostores.FAR=\frac{\text{impostores aceites}}{\text{tentativas de impostores}}. FRR=legıˊtimos rejeitadostentativas legıˊtimas.FRR=\frac{\text{legítimos rejeitados}}{\text{tentativas legítimas}}.

FAR não é fração de aceitações pertencente a impostores. Limiar exigente tende a reduzir FAR e aumentar FRR. Declara ensaio e distingue FMR e FNMR de sistema. Igualdade FAR e FRR é referência, não regra de escolha.

Defesa por contexto

ClasseRegra
XSSCodifica por contexto; textContent insere texto, innerHTML interpreta. HTML rico exige sanitização. CSP complementa sem substituir correção.
CSPscript-src substitui default-src para scripts; object-src 'none' bloqueia objetos; Report-Only só relata. Ver exemplo na lição.
SRICompara bytes com integrity; origem cruzada exige CORS. Não prova benignidade nem contorna CSP.
SQLParâmetros para valores; estrutura por lista de opções fixas.
CSRFSem GET para alterar estado; token ligado à sessão e validação de origem. SameSite complementa.
IDORAutoriza cada conta sobre cada objeto; UUID ou sessão válida não bastam.

Diagnosticar cada falha.

À tua maneira

Aparência

Modo de cor
Tema
Cor de destaque

Leitura

Fonte de leitura

Álgebra, lógica e uma ideia de cada vez.

Código

Fonte do código

Navegação

Cursor de leitura, sem edição. h, j, k, l movem; / pesquisa nesta página. v seleciona caracteres; V seleciona linhas; y copia. Tab permite destacar ou comentar. Espaço ou Enter abre blocos recolhíveis. Nos cartões, h, j, k, l mudam o foco.

CSS personalizado

Ativa uma sugestão ou guarda o teu CSS. Só muda este navegador.

Usa --page, --text e --accent para acompanhar o tema.

Seletores e recuperação

.site-header, .prose, .course-card, [data-reading-history], [data-playground] e .page-actions.

Abre a aparência com a tecla vírgula ou no rodapé. Se o CSS esconder os controlos, abre esta página sem CSS personalizado.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

Copiar fórmula

A cópia automática não está disponível. Copia o LaTeX abaixo.

Pesquisar nesta página

Enter procura · n / N repetem · Esc cancela. Ctrl / Cmd K pesquisa todo o site.

Atalhos de teclado

Clica numa tecla para a mudar. Esc cancela. Backspace desativa.

PesquisarCtrl / Cmd K

Os atalhos não interferem enquanto escreves. Tab e Enter funcionam sempre.