定义ValidateAntiForgeryToken属性时。应该给盐添加什么程度的复杂性?

例如,超过X个字符的字母数字好吗?也应该有符号。

[ValidateAntiForgeryToken(Salt = "How complex is good")]
public virtual ActionResult SaveDetail(UserDetails details)
{
.
.
.
}

最佳答案

我认为这是问题的长度,而不是字符类型。简单地说,盐越长,AntiForgeryToken破解的难度就越大。诸如md5-crypt和bcrypt之类的现代方法分别使用48位和128位的盐。也许您想效仿他们。

如果您真的很担心,请为每个视图添加不同的盐。这将为您的站点提供增强的安全性,因为黑客将无法在各个视图之间重复使用被破坏的令牌。希望这是有道理的。

桑德森在this post中对此进行了说明。

关于c# - MVC.net表格发布/防伪,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3452033/

10-13 01:59