在我的ASP.NET Web应用程序中,我通过向web.config添加以下条目,对ASP.NET_SessionID和.ASPXAUTH Cookies进行了以下更改,以确保web.config的安全
<httpCookies httpOnlyCookies="true" requireSSL="true" />并添加以下标记
<forms requireSSL ="true" /> 但我在这里的问题是,从服务器接收到的Cookies (Network->Cookies->Direction有一个接收值)具有安全,HttpOonly标志设置为true。在我使用IE11Developer工具进行调试时找到了这些信息,但是发送到服务器的Cookie数据(Network-> cookies ->Direction列的值为Server)没有任何安全标志或HttpOnly标志设置为true。
这是默认行为吗?如果是,为什么发送到服务器的数据没有设置安全和HttpOnly标志?如何将其设置为除上述对配置文件所做的更改之外。
发布于 2014-10-18 07:36:28
Cookie标志,如Secure和HttpOnly,只从服务器发送到客户端。你永远不会看到他们在交通中向另一边走。如果希望确保cookie是安全的,请让浏览器通过HTTP (而不是HTTPS)发出请求,并查看cookie是否仍然存在(不应该存在)。如果您想确保cookie是HttpOnly,请在浏览器中打开您的站点,然后在dev工具中使用JS控制台检查document.cookie的值;您应该会看到任何非httponly cookie,但是没有httponly cookie。
曲奇本身就是客户端的东西。它们是服务器告诉客户端的一种方式,“每次您向我提出请求时,都要包含这一点信息”。安全标志修改为“每次您通过安全连接向我提出请求时,都包含此信息(但千万不要通过不安全的连接泄露它)”。一个符合要求的用户代理--也就是说,web浏览器--应该遵守这些指令。但是,另一种方式是没有等效的指令;服务器根本不需要对客户机发送的cookie做任何事情,也没有“客户端设置服务器上的cookie”等同于服务器可以在客户机上设置cookie的方式。指令(包括安全、HttpOnly、域、过期等)只在设置cookie时使用。
https://stackoverflow.com/questions/26437334
复制相似问题