首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ASPState的经典asp

使用ASPState的经典asp
EN

Stack Overflow用户
提问于 2013-11-08 11:11:35
回答 1查看 324关注 0票数 1

ASP.NET可以自动将会话保存到数据库中。有没有办法在经典ASP中将会话保存到数据库?

我需要使用数据库在ASP.NET和Classic ASP之间共享会话。如果Classic ASP不支持此功能。

EN

回答 1

Stack Overflow用户

发布于 2013-11-08 18:09:26

使用会话状态的目的是什么?它是用来存储数据的,比如让用户在不同的页面上登录吗?

您可以将会话信息存储在数据库中,但您需要一种将不同会话状态绑定在一起的方法。

跟踪用户“会话”的一种方法是使用自己的cookie,该cookie可以从代码和ASP代码中读取。您可以设置cookie的过期日期,以控制用户在需要重新进行身份验证之前保持登录的时间。您可以使用该cookie来存储用户id信息以及可能存储在特定于用户的会话状态中的任何其他相关信息。

设置cookie的ASP经典代码:

代码语言:javascript
复制
IF HTTPSConnection Then
    Response.AddHeader "Set-Cookie",theName & "=" & theValue & "; path=/; HttpOnly; Secure=True; Domain=" & cookieDomainName & "; Expires=" & cookieExpiry
Else
    Response.AddHeader "Set-Cookie",theName & "=" & theValue & "; path=/; HttpOnly; Domain=" & cookieDomainName & "; Expires=" & cookieExpiry
END IF

确保您在cookie上设置了"HTTPOnly“标志,以帮助防御XSS,MITM,cookie劫持攻击。您还可以考虑对cookie中存储的数据进行加密。

您可以使用如下代码遍历ASP Classic IIS会话对象:

代码语言:javascript
复制
For Each ss in Session.Contents
    response.write Session.Contents(ss) & "<br/>" 'writes out the session contents
Next


For Each so in Session.StaticObjects
    response.write Session.StaticObjects(so) & "<br/>" 'writes out the session objects
Next
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19850953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档