gpt4 book ai didi

asp.net - session 不会保留值并始终返回 null

转载 作者:行者123 更新时间:2023-12-04 20:15:53 26 4
gpt4 key购买 nike

我有一个网站,它完全通过 HTTPS。即使有人试图通过 HTTP 访问,他也会被重定向到 HTTPS。我正在使用表单例份验证。最近我更改了一个设置以使站点更安全,之后 Session 不保留值并且总是返回 null。设置是,

<httpCookies httpOnlyCookies="true" requireSSL="true"/>
<sessionState cookieless="false"/>

我不知道如何解决这个问题。我该如何解决这个问题?另外,如果我不使用此设置,我的网站是否容易受到攻击?认为其他一切都是安全的。

最佳答案

你的问题太笼统,没有很多线索,所以我可以给你一些观点继续前进。

[1] 还设置了 domain在 cookie 上,没有 www. ,因此即使错误地缺少 www 也可以读取和设置 cookie。

<httpCookies domain="yourdomain.com" httpOnlyCookies="true" requireSSL="true"/>

[2] 您还需要设置 <forms...具有类似的参数(以及您设置的其他内容)
<forms name=".klidi" path="/" requireSSL="true" cookieless="UseCookies" 
domain="yourdomain.com" enableCrossAppRedirects="false"
slidingExpiration="true" />

[3] 您还需要设置 <roleManager具有相似的参数。
<roleManager enabled="true" cacheRolesInCookie="false" cookieProtection="All" cookieSlidingExpiration="true" 
cookieTimeout="20" domain="yourdomain.com" cookieRequireSSL="true">

最后最重要的是在您尝试设置或使用任何 cookie 之前在您的代码中设置这一行,以查看您是否错误地没有使用安全连接 https .
Debug.Assert(HttpContext.Current.Request.IsSecureConnection, "With out https, cookie will not work");

通过设置最后一行,在您的计算机上创建站点时,您可以查看并诊断问题是否来自非安全连接,因为从设置 requireSSL 的那一刻起为真,任何简单的连接都不会保存任何 cookie。

如果 cookie 存在不安全并且您有任何冲突,请尝试清除您的 cookie,或者尝试其他浏览器。

您也可以阅读: Can some hacker steal the cookie from a user and login with that name on a web site?

关于asp.net - session 不会保留值并始终返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12506532/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com