假设我在web.config中的以下地方有以下内容:
<httpCookies requireSSL="true" />
默认情况下,这会将所有httpCookies设置为Secure。如果我有以下cookie:
var cookie = new HttpCookie("ResultsPerPage", "50");
cookie.Secure = false;
Response.Cookies.Add(cookie);
requireSSL = "false"
和cookie.Secure=true
)?答案 0 :(得分:1)
使用浏览器的开发控制台检查HTTP响应标头和Cookie可以让您深入了解此问题。出于这个答案的目的,我使用了ASP.Net和Chrome浏览器。要回答您的问题 - 是的,单个cookie设置确实优先于web.config设置。
像这样设置配置 -
<httpCookies requireSSL="true" httpOnlyCookies="true"/>
在这样的响应标题中生成结果 -
和像这样的cookie -
在代码中为各个Cookie设置首选项 -
var cookie = new HttpCookie("ResultsPerPage", "50");
cookie.Secure = false;
cookie.HttpOnly = false;
HttpContext.Response.Cookies.Add(cookie);
会产生这样的响应头 -
和像这样的cookie -
您可以通过检查Cookie和响应标头来验证java和php是否具有相同的行为。
希望这有帮助。