Cross-Site Request Forgery (CSRF) é uma vulnerabilidade de segurança onde um site malicioso engana um usuário para enviar dados de formulário a um servidor legítimo sem seu conhecimento. Isso ocorre porque o navegador envia automaticamente o cookie de sessão do usuário com cada solicitação, permitindo que atacantes explorem a sessão autenticada da vítima.
O mecanismo de defesa gera um token aleatório único armazenado na sessão. Cada formulário enviado pelo servidor legítimo inclui esse token em um campo de entrada oculto. Ao receber uma submissão de formulário, o servidor verifica o token em relação ao armazenamento da sessão. Se os tokens não corresponderem, a solicitação é rejeitada. O Django fornece proteção CSRF embutida por padrão quando o middleware de sessão está ativo.