asp.net-mvc – 绑定动作参数以在ASP.NET MVC中请求cookie – 发
在ASP.NET MVC的几个早期预览中,控制器方法的参数将通过检查查询字符串,然后是表单,然后是cookie和服务器变量集合来解决,如
this post from Stephen Walther中所述.
例如,此代码用于工作: public class MyController : Controller { // This should bind to Request.Cookies["userId"].Value public ActionResult Welcome(int userId) { WebUser wu = WebUser.Load(userId); ViewData["greeting"] = "Welcome," + wu.Name; return(View()); } } 但现在针对候选版本运行,它会引发异常,因为它找不到userId的值,即使userId肯定出现在请求cookie中. 发布说明中的任何地方都包含此更改吗?如果这是对框架的更改,那么现在是否有以这种方式绑定cookie和服务器变量的建议替代方法? 编辑:感谢那些迄今为止做出回应的人.我可能选择了一个不好的例子来证明这一点;我们的代码使用cookie用于各种形式的“方便”但非必要的持久性(记住搜索结果的排序,这种事情),所以它绝不是纯粹的身份验证问题.依赖用户cookie的安全隐患已有详细记录;我对目前关于检索cookie值的灵活,易于测试的技术的建议更感兴趣. (我相信你可以欣赏,上面的例子可能有安全隐患,但非常非常容易测试!) 解决方法
我认为这是安全问题,说服他们采取这些措施:
Stephen Walther在ASP.NET MVC Tip 15之后的评论,导致Phil Haack发布User Input in Sheep’s Clothing,特别是他的评论here:
|
- asp.net-mvc – 使用Web Api验证.NET MVC应用程序
- asp.net-mvc – 在ASP.NET MVC控制器结果中设置HTTP状态不呈
- asp.net – .除了抛出异常
- ASP.NET推送重定向会话超时
- asp.net-mvc – 具有Fluent nHibernate和Ninject的多租户.每
- asp如何判断进入网站的客户是手机还是pc
- asp.net – PostBackUrl没有将Page.IsCrossPagePostBack设置
- asp.net-mvc – 在ASP.NET MVC 3中使用Ajax响应发送的自定义
- asp.net – 要排除的Nuget和源控制文件?
- asp.net-mvc – 使用ASP.NET MVC的IIS应用程序请求路由(ARR
- asp.net – 任何人都有解决Internet上的“n项剩余
- 每个请求的ASP.NET 5(VNext)Autofac实例
- asp.net-mvc – CloudFlare SSL与ASP.NET MVC Re
- asp.net – __dopostback未定义在IE 11上Windows
- asp.net-mvc-3 – Azure网站上的RavenDb – 访问
- asp.net-mvc – 使用Dotnetopenauth的自定义配置
- asp.net – 无法加载类型’system.data.entity.d
- 一步步开发自己的博客 番外篇(8、第三方登录及问
- 是否可以在ASP.NET 5的Web API中使用外部身份提供
- ASP.NET ExpressionBuilder语法 – 在img标记内输