gpt4 book ai didi

java - 无法在 safari 的请求 header 中发送带有 HTTPOnly 标志的 cookie

转载 作者:行者123 更新时间:2023-12-04 11:04:15 25 4
gpt4 key购买 nike

我用 创建了 cookie HTTPOnly 标志在 Safari 使用java的浏览器
请参阅下面的响应 header 。

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Referer:http://anil.mlbextrabases.com/SafariIssue/
User-Agent:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2
Query String Parametersview URL encoded
userName:servlet
userPass:servlet
flagRequired:true
Response Headersview source
Content-Length:331
Content-Type:text/html;charset=ISO-8859-1
Date:Wed, 08 Aug 2018 09:23:45 GMT
Server:Apache-Coyote/1.1
Set-Cookie:userInfo="username: servletpassword: servlet"; Version=1; Comment="creating cookie"; Domain=anil.mlbextrabases.com; Max-Age=31536000; Expires=Thu, 08-Aug-2019 09:23:45 GMT; Path=";Path=/;HttpOnly;", JSESSIONID=076942707A8D62AD1296102A1593F664; Path=/SafariIssue; HttpOnly
Strict-Transport-Security:max-age=7776000; includeSubdomains


但是 cookie 不会在 中的后续请求中传递 Safari 浏览器。在传递其他浏览器时,如 Chrome、Firefox、IE、Edge
当我删除 HTTPOnly 标记 cookie 在 Safari 浏览器中也很好地传递。

我在开发者社区上做了很多研发。但它没有帮助。

最佳答案

根据定义创建 HTTPOnly cookie 是为了不允许从 javascript 访问。
这是一种安全控制,可确保黑客无法通过提取有效的 cookie 值(如 session ID)来利用您的软件
HttpOnly 是网站可以指定的关于 cookie 的标志。换句话说,网络服务器告诉你的浏览器“嘿,这是一个 cookie,你应该把它当作 HttpOnly”。
JavaScript 无法访问 HttpOnly Cookie。只有浏览器知道它,它不会将它提供给页面中的 JavaScript 代码。起初,这听起来像是一种限制,但确实如此。然而,这样做的目的是我们不能信任 JavaScript 代码。攻击者可能会使用 JavaScript 窃取我们存储在 cookie 中的身份验证 token ,然后使用我们的帐户访问该网站。使用 HttpOnly cookie,这是不可能的。这使得 XSS 攻击(我们刚刚描述的攻击)更难执行。
仅与 HttpOnly cookie 共享任何身份验证数据是公认的最佳实践。使用标准 cookie 进行身份验证是我们在任何情况下都应该避免的已知漏洞。
https://www.ictshore.com/ict-basics/httponly-cookie/

关于java - 无法在 safari 的请求 header 中发送带有 HTTPOnly 标志的 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51743433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com