加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – Session不会保留值并始终返回null

发布时间:2020-12-16 03:27:55 所属栏目:asp.Net 来源:网络整理
导读:我有一个网站,它完全通过HTTPS.即使有人试图通过HTTP访问,他也会被重定向到HTTPS.我正在使用表单身份验证.最近我更改了一个设置,使网站更安全,之后Session没有保留值,并且总是返回null.设置是, httpCookies httpOnlyCookies="true" requireSSL="true"/sessio
我有一个网站,它完全通过HTTPS.即使有人试图通过HTTP访问,他也会被重定向到HTTPS.我正在使用表单身份验证.最近我更改了一个设置,使网站更安全,之后Session没有保留值,并且总是返回null.设置是,

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

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

解决方法

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

[1]也设置了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设置为true的那一刻起,任何简单连接都不会保留任何cookie.

如果cookie存在为非安全且您有任何冲突,并尝试其他浏览器,请尝试清除Cookie.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读