【发布时间】:2011-12-11 15:40:38
【问题描述】:
我正在开发一个当前使用 Session 来保存用户 ID 和权限的 Web 应用程序。这给我带来了问题,因为客户端 IP 地址通常每 5 分钟更改一次,有时会更快,因此会话丢失。
我目前的解决方法是加密一个字符串,当会话终止时将自动登录,但它仍然会导致问题,因为如果必须运行自动登录过程,则不会提交表单。
我可以发布一些代码,但我觉得我目前的攻击方法离基地很远。我能得到一些建议吗?
谢谢!
该网络应用程序可供大约 10 个用户使用,如果可能的话,我希望它永远不会超时,这样如果他们正在查看一个页面 4 天并返回它,他们可以按下提交并提交。
【问题讨论】:
-
客户端 IP 地址更改不应影响会话,如果您使用内置支持 - 会话标识符保存在 cookie 或 url 中,两者都没有绑定到客户端IP地址。那么你在做什么以这种方式捆绑它?
-
在简单的形式中只是这个 'Session("User") = "Data" 并且当 IP 改变时似乎会丢失
-
如果您使用
InProc会话状态并且 应用程序池 回收,您将丢失会话,但这是服务器端问题(如果发生这种情况,则令人担忧每 5 分钟一次)。默认会话超时为 20 分钟。 -
老实说,这个 web 应用程序上没有存储敏感数据,我几乎正在考虑将 USERID 存储在 cookie 中并从中调用,根本不使用会话。
标签: asp.net session cookies ip-address