经典 ASP:如何检查 ASPSESSIONID* cookie 是否已标记为安全?

Sud*_*hra 4 cookies iis-6 sessionid asp-classic

我试图将 ASP 会话 ID cookie 标记为 HttpOnly 但似乎无法找到一种方法来判断它是否正常工作。我正在尝试的环境如下:操作系统:Windows Server 2003 IIS:6 ASP 版本:ASP 3(经典 ASP)

为了仅将 cookie 标记为 http,我遵循了MS KB

根据我们架构师的建议,要测试这是否有效,javascript document.cookie 应该无法读取 ASPSESSIONID* cookie。我的问题是 javascript:alert(document.cookie) 仍然响应 ASPSESSIONID* cookie,尽管它似乎是加密的(?)

我还尝试通过 Response.AddHeader "Set-Cookie" 执行此操作,但无法确定为此标头提供什么值以将所有 cookie 或至少 ASP 会话 ID cookie 标记为 HttpOnly。帮助!!!

小智 5

由于“新”PCI 合规性项目,刚刚遇到此问题。这有点笨拙,但这似乎有效:

<%
Dim AspSessionCookie
AspSessionCookie = Request.ServerVariables("HTTP_COOKIE")

If len(AspSessionCookie) > 0 Then
    AspSessionCookie = "ASPSESSIONID" & Split(AspSessionCookie,"ASPSESSIONID")(1)
    If  InStr(1,AspSessionCookie,";") then
        AspSessionCookie = Split(AspSessionCookie,";")(0)        
    End If

    Response.AddHeader "Set-Cookie", AspSessionCookie & ";HttpOnly"
Else 
    Response.redirect(Request.ServerVariables("URL"))
End If
%>
Run Code Online (Sandbox Code Playgroud)