如何设置安全标志上的ASP.NET会话Cookie?
-
22-07-2019 - |
题
如何能我设置安全标志上的ASP.NET会话Cookie,因此,它只会被发送通过HTTPS,从来没有过纯HTTP?
解决方案
有两种方式,在httpCookies
一个web.config
元素,可以打开requireSSL
只发送所有Cookie,包括SSL会话只和也在里面窗体身份验证,但如果你打开SSL上httpcookies你还必须打开它里面形式配置太
修改为清楚起见:强>
把这个在<system.web>
<httpCookies requireSSL="true" />
其他提示
在<system.web>
元件中,添加以下元素:
<httpCookies requireSSL="true" />
不过,如果你在你的<forms>
块system.web\authentication
元素,那么这将覆盖httpCookies
的设置,将其设置恢复到默认false
。
在这种情况下,则需要将requireSSL="true"
属性添加到形式元件为好。
所以,你将结束:
<system.web>
<authentication mode="Forms">
<forms requireSSL="true">
<!-- forms content -->
</forms>
</authentication>
</system.web>
事情变得混乱很快,如果你是在企业环境中谈论签入的代码。我们发现,最好的办法是让 web.Release.config 包含以下内容:
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
<authentication>
<forms xdt:Transform="Replace" timeout="20" requireSSL="true" />
</authentication>
</system.web>
这样一来,开发商不会受到影响(在调试运行),并且只有获得发布版本服务器都需要cookies来使用SSL。
安全的 - 该属性告诉浏览器是否正在通过安全信道发送诸如HTTPS请求仅发送cookie。这将有助于保护该cookie被传递通过未加密的请求。如果该应用程序可以在HTTP和HTTPS访问,则存在该cookie可以以明文形式被发送的可能性。
不隶属于 StackOverflow