我正在添加一个简单的算术运算,例如。 “2 + 4 =”,验证码到MVC网站。
我生成随机数和随机操作,并在视图中显示问题。
当提交表单时,我需要知道使用了哪些数字和操作来验证答案。
我应该在哪里“保存”这些值,以便稍后验证?
在会话变量中?
在Cookie中?
在ViewModel中将它们放在隐藏的输入中?
有人可以就此提出建议吗?
答案 0 :(得分:1)
Cookie用于跨会话保存数据,这与验证码背后的想法不兼容。将它存储在cookie中甚至可以带来什么好处?下一次登录将在新会话中进行,并将进行不同的算术运算 这并不是说你不希望这个客户端在一起。
将它存储在会话中应该没问题:通常会在会话到期时进行重新编码,因此它也会自动删除。
不要使用隐藏的输入。这对于专门针对你的人来说太容易了。