令牌来自哪里可能不那么有趣,只要它不能以任何方式猜测或确定.但请注意在每个请求上生成新令牌,因为这意味着您的网站不适用于向您的网站打开两个或更多浏览器标签的用户.通过在用户会话期间坚持一个令牌值,您可以避免此问题.
每个请求更改令牌可以说更安全.但是惩罚可能被认为太高了.就安全性而言几乎就像任何事情一样,你经常发现你必须在用户体验的简易性上进行权衡 - 找一个喜欢CAPTCHA的用户!为您的应用程序和用户找到合适的平衡对您的安全性和可用性都很重要.
在Open Web Application Security Project上有一些关于CSRF(以及更多)的好读物
另请注意,如果您在受保护令牌的页面上只有一个跨站点脚本漏洞,那么您的CSRF令牌现在无用.另请参阅OWASP XSS(跨站点脚本)预防备忘单.