经典 ASP 会话 ID Cookie 生命周期

2024-03-20

在我的经典 ASP 应用程序中,当客户端关闭浏览器时,与 ASP 会话 ID 相关的 cookie 就会丢失,即使会话没有超时。所以...

即使客户端关闭浏览器,如何使 ASP 会话 ID cookie 保持不变?


当您启动新的浏览器会话并浏览到您的站点时,经典 ASP 将检测到没有 ASP 会话 cookie,并将为您创建一个新会话(正如您已经经历过的那样)。

会话 cookie 就是这样,它们在会话的生命周期内存在。当您关闭浏览器时,会话 cookie 将被删除(即使您在服务器上的会话状态将作为孤立会话继续存在,直到 Session.Timeout 过期 - 除非您在 Session.Timeout 期间再次提供相同的会话 cookie)。

在新的浏览器会话/实例中延长 ASP 会话 cookie 的生命周期的唯一方法是使用浏览器/客户端上的脚本更改 cookie 的生命周期。

如果您希望管理跨事件(例如浏览器关闭)的状态,则需要实现自己的状态管理机制(例如将状态保存到数据库)并使用具有较长生命周期(或具有滑动过期时间)的常规 cookie您可以将服务器端脚本中每个请求的生命周期延长一小部分)以将状态与用户匹配。

Edit:

以下文章有一个修改会话 cookie 的脚本(向下滚动到 Cookie 过期):

  • ASP 会话 Cookie (Plynt) https://web.archive.org/web/20070504042700/http://palisade.plynt.com/issues/2007Feb/asp-session-cookies/,来自 archive.org

但正如 Shoban 正确指出的那样,存在以下风险:会话固定 (OWASP) http://www.owasp.org/index.php/Session_Fixation。但是,您可以采取一些措施来保护自己免受这种情况的影响:

  • 会话固定保护 (OWASP) http://www.owasp.org/index.php/Session_Fixation_Protection

我还要添加一些警告,如果您的应用程序正在存储敏感数据(信用卡、财务、医疗等),那么我建议不要这样做,并接受您的用户将不得不再次登录并开始新会话的事实。安全总比后悔好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

经典 ASP 会话 ID Cookie 生命周期 的相关文章

  • 经典 ASP 网站偶尔会挂起

    我们在 IIS 7 5 上有一个经典的 ASP 网站 用户随机遇到响应缓慢的情况 发生这种情况时 用户在几分钟内无法执行任何操作 这非常令人沮丧 例如 我可以打开主页 然后在类别中单击几次 然后网站就停止响应 我没有注意到网站何时停止响应的
  • 同一域的子页面之间的 PHP 会话

    我有一个域 domain com 其中有多个子页面 这些子页面具有不同的会话 默认情况下 并且我希望其中一些子页面共享一个会话 例如我有domain com section1 staff and domain com section2 st
  • OWIN中间件可以使用http会话吗?

    我有一些为 ASP NET 和 SignalR 复制的代码 我决定将其重写为 OWIN 中间件以删除这些重复 一旦我运行它 我注意到HttpContext Current Session为空 并且我没有看到任何会话对象IOwinContex
  • 阻止注销页面后的后退按钮

    我有 php 注销页面 当用户单击注销链接时 请参阅此页面并重定向到索引页面 但是当单击后退按钮时 我会看到带有用户数据的上一页 当然 当我刷新页面时 我看不到以前的页面和数据 我在单击注销并单击后退按钮后检查了其他代码 drupal 但我
  • 使用ASP/VB获取节点属性值

    我有以下 XML 架构
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 使用 Vaadin Flow Web 应用程序处理全局所有布局和“路由”URL 的登录

    Vaadin 8 在 Vaadin 8 中 在我的UI子类我通过检查用户的会话是否带有一个属性来处理登录 该属性表明他们是否已成功登录 如果没有的话 我的UI子类显示登录布局 而不是带有导航选项的其他内容 例如菜单栏和在该 UI 内切换布局
  • Flask 会话变量

    我正在用 Flask 编写一个小型网络应用程序 当两个用户 在同一网络下 尝试使用应用程序时 我遇到会话变量问题 这是代码 import os from flask import Flask request render template
  • session_start():无法解码会话对象

    我有时在使用 CodeIgniter 时遇到以下问题 错误 2019 03 05 19 57 26 gt 严重性 警告 gt session start 无法解码会话对象 会话已被销毁 system libraries Session Se
  • SSL 和会话劫持/固定

    快问 SSL 是否完全防止会话劫持 固定 谢谢 不可以 例如 在以下情况下可能会发生劫持 被黑客入侵的 CA 根签署无效证书 该证书可用于发起中间人攻击 被黑客攻击的域名所有者电子邮件收件箱使黑客有可能购买经过域名验证的证书 错误的密钥策略
  • 生成Excel文件错误

    我在经典 ASP 中使用以下代码生成 Excel 文件 代码很简单并且有效 我在 Windows Vista x86 上的 IIS 7 0 下运行代码 两个问题 有一个奇怪的警告框 这是屏幕快照 http i27 tinypic com 2
  • 使用会话在 Django 中将文件从一个视图传递到另一个视图

    我当前的工作项目要求我允许用户上传各种格式的文件 目前仅处理 CSV 格式 然后使用包含的数据来绘制图表Pandas http pandas pydata org 图书馆 我决定将图形渲染到模板的最简单方法是为图形创建特定视图 然后将图像从
  • 如何使用 PHP 正确添加跨站请求伪造 (CSRF) 令牌

    我正在尝试为我网站上的表单添加一些安全性 其中一个表单使用 AJAX 另一个表单是简单的 联系我们 表单 我正在尝试添加 CSRF 令牌 我遇到的问题是令牌有时只显示在 HTML 值 中 其余时间 该值为空 这是我在 AJAX 表单上使用的
  • 经典 asp 中的 WinHttp TLS 连接

    我正在尝试将付款数据发送到 SagePay 由于他们关闭了 SSL 因此需要使用 TLS 发送数据 我的代码如下 set httpRequest Server CreateObject WinHttp WinHttprequest 5 1
  • 如何使用 spring 配置 Hazelcast 进行会话缓存,同时将其限制为一组节点?

    我需要使用 Spring 设置 Hazelcast 会话缓存 使用 hazelcast 文档中的配置很简单 然而 其不足 我需要为我的每个环境 DEV QA PROD 使用不同的配置文件 或者 理想情况下 我想使用 spring bean
  • 终止用户会话

    我有 3 个标签 主页 选项卡 1 选项卡 2 当用户启动应用程序时 它会定向到 主页 选项卡 我使用以下命令创建一个新会话HttpSession session request getSession 当用户浏览到其他选项卡时 我使用以下方
  • PHP 会话 ID——它们是如何生成的? [复制]

    这个问题在这里已经有答案了 当我打电话时session start or session regenerate id PHP 为会话 ID 生成看似随机的字符串 我想知道的是 它只是一个随机的字符序列 还是像uniqid 功能 因为如果只是
  • 配置 session_store.rb 来处理登台和生产?

    我的 Rails 3 1rc6 应用程序上有一个使用子域的暂存和生产环境 我为这些环境购买并配置了不同的域名 因为默认的 some something herokuapp com 不能很好地与子域配合 当我将 session store r
  • 重定向后丢失会话变量

    用户填写用户名和密码 如果正确 页面会加载一些信息 例如user id到会话变量 该脚本制作了一个header Location 重定向 不知何故 下一页无法识别会话 怎么会 重定向到同一个域 并且所有页面都有session start 我
  • 如何向会话表添加自定义字段

    我目前正在使用Symfony 2 1 8和内置的PdoSessionHandler 我想添加一个user id会话表中的字段用于标识会话属于哪个 登录 用户 我的想法是 我可以强制用户重新登录以破坏他的会话 就我而言 如果更新用户的权限 就

随机推荐