首页 > 解决方案 > 如果 Web.Config 保护所有 cookie,我怎么能不保护 Asp.Net 中的一个 cookie?

问题描述

如果 Web.config 具有此设置:

<httpCookies httpOnlyCookies="true" requireSSL="true" />

现在所有的 cookie 都带有 Secure 和 HttpOnly 标志,但是如果我确实需要一个不安全的 cookie 以便我可以将某些内容传递给客户端,以便其 javascript 读取其中的数据呢?如何使这个 cookie 不带有 Secure 和 HttpOnly 标志?

我需要这些数据可用于任何页面,除了 cookie 之外还有其他方法吗?

谢谢,

标签: asp.netsecuritycookies

解决方案


事实证明,您的代码中的设置接管了 Web.Config 中的设置。只有未使用 Secure 和 HttpOnly 指定的 cookie 才会受 Web.Config 中的设置影响。

示例代码:

filterContext.HttpContext.Response.Cookies.Add(new HttpCookie("mycookie", "mycookievalue") {
                Secure = false,HttpOnly = false
            });

因此,无论 Web.Config 中的设置是什么,“mycookie”都不会受到保护


推荐阅读