Cross-Site Request Forgery (CSRF) ist eine Sicherheitsanfälligkeit, bei der eine bösartige Website einen Benutzer dazu bringt, Formulardaten ohne dessen Wissen an einen legitimen Server zu senden. Dies geschieht, weil der Browser automatisch das Sitzungscookie des Benutzers mit jeder Anfrage sendet, was Angreifern ermöglicht, die authentifizierte Sitzung des Opfers auszunutzen.
Der Abwehrmechanismus generiert ein einzigartiges zufälliges Token, das in der Sitzung gespeichert wird. Jedes Formular, das vom legitimen Server eingereicht wird, enthält dieses Token in einem versteckten Eingabefeld. Bei Erhalt einer Formularübermittlung überprüft der Server das Token gegen den Sitzungsstore. Wenn die Tokens nicht übereinstimmen, wird die Anfrage abgelehnt. Django bietet standardmäßig einen integrierten CSRF-Schutz, wenn die Sitzungsmiddleware aktiv ist.