我使用文章做了一个 HttpOnly cookie:
https://docs.microsoft.com/pt-br/dotnet/api/system.web.httpcookie.httponly?view=netframework-4.7.2
HttpOnly cookie的创建如下:
// Create an HttpOnly cookie.
HttpCookie myHttpOnlyCookie = new HttpCookie("LastVisit", DateTime.Now.ToString());
// Setting the HttpOnly value to true, makes
// this cookie accessible only to ASP.NET.
myHttpOnlyCookie.HttpOnly = true;
myHttpOnlyCookie.Secure = true;
myHttpOnlyCookie.Name = "MyHttpOnlyCookie";
Response.AppendCookie(myHttpOnlyCookie);
// Show the name of the HttpOnly cookie.
Response.Write(myHttpOnlyCookie.Name);
好的,我看到这篇文章说: https ://latesthackingnews.com/2017/07/03/what-is-httponly-cookie/
HttpOnly 告诉浏览器保存 cookie 而不将其显示给客户端脚本。另一方面,安全标志会强制浏览器通过 HTTPS 等加密通道发送 cookie,从而停止窃听,尤其是当 HTTPS 连接通过 SSLStrip 等工具降级为 HTTP 时。
好的,
但我在我的 .aspx 网页中做了一个仅 http 的 cookie,但我可以通过 Chrome 的 cookie 文件看到它:
C:\Users\<user>\AppData\Local\Google\Chrome\User Data\Default\Cookie
我设置了标志:
myHttpOnlyCookie.HttpOnly = true;
myHttpOnlyCookie.Secure = true;
问题 1-如果 HttpOnly 告诉浏览器保存 cookie 而不将其显示给客户端脚本,为什么我可以访问 Chrome 的 cookie 文件中的 cookie 名称?
问题 1.1-它的内容是否可以访问,但不使用脚本?
问题 2-这很愚蠢,但我无法使用以下代码通过 aspx 访问 HttpOnly cookie:
HttpContext.Current.Request.Cookies["test_MyHttpOnlyCookietest"]
它是通过服务器端访问它的唯一方法吗?
问题 3 -当我输入时,myHttpOnlyCookie.Secure = true;
我无法通过非 HTTPS 连接访问它 - 对吗?只使用https我可以访问它吗?
问题 4-如果我使用myHttpOnlyCookie.Secure = true
,则有加密和解密。
这在处理能力方面的成本是多少?