Asp.net mvc 3 需要一些在MVC中使用AntiForgeryToken的指南吗
我是mvc的新手。因此,我浏览了几篇关于AntiForgeryToken使用的文章。AntiForgeryToken在页面中发出一个加密值,当表单post然后AntiForgeryToken的加密值和cookie转到服务器端时,比较两个值以检查两者是否相同。如果不是,则抛出一个错误 我对防伪代币没什么问题 1) 比较是如何在服务器端进行的。我是否需要编写任何代码来比较值,或者在操作方法具有类似于[ValidateAntiForgeryToken()的属性时自动完成比较 [ValidateAntiForgeryToken()] 公共操作结果编辑(ProductDetails ProductDetails) { } 2) 如果我喜欢在页面显示时加密用户id,那么可以编写类似Asp.net mvc 3 需要一些在MVC中使用AntiForgeryToken的指南吗,asp.net-mvc-3,antiforgerytoken,Asp.net Mvc 3,Antiforgerytoken,我是mvc的新手。因此,我浏览了几篇关于AntiForgeryToken使用的文章。AntiForgeryToken在页面中发出一个加密值,当表单post然后AntiForgeryToken的加密值和cookie转到服务器端时,比较两个值以检查两者是否相同。如果不是,则抛出一个错误 我对防伪代币没什么问题 1) 比较是如何在服务器端进行的。我是否需要编写任何代码来比较值,或者在操作方法具有类似于[ValidateAntiForgeryToken()的属性时自动完成比较 [ValidateAnti
@Html.AntiForgeryToken(m=>m.userid)
?若有可能,那个么表单何时发布,那个么如何从服务器端获取用户id值,因为用户id将被加密
3) 人们使用的盐概念是什么?如何使用AntiForgeryToken()
实现salt概念
4) 我是否可以将多个AntiForgeryToken()
放在一个表单中以加密多个敏感数据?如果不可能,请告诉我原因
5) 如何使AntiForgeryToken()
针对密钥加密值…密钥将由我提供,每次都是动态的
请给出正确的答案。谢谢
更新
关于动盐
要生成随机字符串,请使用RNGCryptoServiceProvider
public string GenerateSalt(int length)
{
var rng = new RNGCryptoServiceProvider();
var buffer = new byte[length];
rng.GetBytes(buffer);
return Convert.ToBase64String(buffer);
}
如果我调用GenerateSalt(),它将始终提供一个动态组合。就是这样
[validateAntiForgeryToken]
属性(过滤器)的作用ValidateMyAntiForgeryToken:ValidateAntiForgeryToken
)我更新我的问题。另外,请告诉我是否有关于ValidateMyAntiForgeryToken自定义AntiForgeryToken的好文章?