web-dev-qa-db-fra.com

Quelle est l'utilisation de @ Html.AntiForgeryToken ()?

Pourquoi avons-nous besoin d'utiliser @Html.AntiForgeryToken()? J'ai cherché mais je n'ai pas eu de réponse satisfaisante.

29
Mhd

Il s'agit d'une fonctionnalité de sécurité permettant de protéger votre application contre la falsification de requêtes intersites.

Exemple:

Supposons que vous ayez une fonctionnalité de registre dans votre application Web. Vous avez un AccountController (somename.com/account/register) où vous attendez des personnes qu'elles soumettent leurs informations. Normalement, avant que quelqu'un publie, les informations d'enregistrement doivent visiter le site réel (somename.com/account/register) puis soumettre le formulaire.

Disons que je suis un méchant et que je veux submerger votre serveur avec des informations indésirables. Tout ce que je dois faire, c'est simplement continuer à poster directement sur (somename.com/account/register) sans visiter votre site. Donc, afin de m'arrêter, vous implémentez AntiForgeryToken afin que vous puissiez vous assurer que j'ai visité la page avant d'enregistrer les informations d'enregistrement.

Un autre exemple est ( http://www.binaryintellect.net/articles/20e546b4-3ae9-416b-878e-5b12434fe7a6.aspx )

68
Dynamikus

Ceci afin d'éviter falsification de requêtes intersites dans votre application MVC. Cela fait partie du OWASP Top 1 et est vital en termes de sécurité Web. L'utilisation de la méthode @ Html.AntiforgeryToken () générera un jeton pour chaque demande afin que personne ne puisse créer une publication de formulaire.

9
Jordi Corbilla