title: Is it possible to make the AntiForgeryToken value in ASP.NET MVC change after each verification?
body: <p>We've just had some Penetration Testing carried out on an application we've built using ASP.NET MVC, and one of the recommendations that came back was that the value of the AntiForgeryToken in the Form could be resubmitted multiple times and did not expire after a single use.</p>
  
  <p>According to the <a href="http://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet#General_Recommendation:_Synchronizer_Token_Pattern" rel="nofollow noreferrer">OWASP recommendations</a> around the Synchronizer Token Pattern:</p>
  
  <p><em>"In general, developers need only generate this token once for the current session."</em> </p>
  
  <p>Which is how I think the ASP.NET MVC AntiForgeryToken works. </p>
  
  <p>In case we have to fight the battle, is it possible to cause the AntiForgeryToken to regenerate a new value after each validation?</p>