HP Fortify:ASP.NET不良实践:会话中存储的非可序列化对象
HttpContextHelper.cs中的方法set_UserActiveEnvironments()在第47行将一个不可序列化的对象存储为HttpSessionState属性,这可能会损害应用程序的可靠性
默认情况下,ASP.NET服务器存储HttpSessionState对象,其属性以及它们在内存中引用的任何对象.此模型将活动会话状态限制为单个计算机的系统内存可以容纳的状态.为了扩展超出这些限制的容量,服务器经常配置为持久会话状态信息,这些信息既可以扩展容量,又可以跨多台计算机进行复制,从而提高整体性能.为了保持其会话状态,服务器必须序列化HttpSessionState对象,这要求存储在其中的所有对象都是可序列化的. 为什么它显示为漏洞,我该如何解决? 解决方法
Mohanraj,也许你已经找到了解决方案,但下面是一个看似合理的解释:
HP Fortify表示存在一些误报,这就是为什么您需要逐个分析它指示您的每个漏洞,这就是为什么它有一个分类列表供您分析是否发现漏洞是真正的威胁还是误报. 在这种特殊情况下,为了修复漏洞,您只需要将您尝试传输/发送到Session的类装饰为[Serializable],这在使用会话在应用程序中存储数据时是非常值得推荐的. 由Piet Obermeyer和Jonathan Hawkins检查this article,它更好地解释了序列化的使用. 希望这可以帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 如何将Web应用程序项目转换为类库项目
- asp.net-mvc – ASP.NET MVC 1.0中的表单输入验证选项
- 这个ASP.NET功能在哪里记录? <%= string format,params o
- 请求的ASP.NET窗体身份验证失败 原因:提供的票已过期
- asp.net-mvc – ActionLink jQuery参数
- asp.net-web-api – 请求的资源不支持http方法“PUT”
- 如何使用asp.net中的“发布/重定向/获取”a.k.a.“重定向后
- 如何使用ASP.NET MVC增加对AJAX JSON响应的2MB限制
- asp.net-mvc – 如何将ASP.net身份角色放入Identityserver4
- asp.net-web-api – HttpClient不报告从Web API返回的异常