java - cookie中保存session id是什么概念?

标签 java cookies web-applications session-cookies

我正在为一家企业开发一个安全网站。我希望它完全免受所有已知漏洞的影响。我遇到过创建安全 cookie 和启用 HTTPOnly 但在那个例子中他们使用 cookie 值作为 session ID。我不明白。使用这种方式不会构成威胁吗?

最佳答案

您需要将 session ID 发送到客户端并返回到服务器,以便将来自该客户端的请求与 session 匹配。

据我所知,只有两种方法可以传递 session ID:作为 cookie 或作为参数(在大多数情况下,它应该是一个 url 参数来支持 get 请求)。通过参数发送 session ID 是一个漏洞,因为攻击者可以提供带有预先制作的 session ID( session 固定)的链接,而对 cookie 执行相同操作至少很难(如果不是不可能的话)。

不过,通过 url 参数发送 session ID 不仅是一个安全问题。假设有人复制 url 并将其发送给某人(“嘿看看这个”)或将其发布在网络上的某个地方。只要 session 存在,访问该链接的每个人都会使用相同的 session 并相互干扰。诚然,无论 session (IP、MAC 地址等)如何,都有一些方法可以识别用户,但这些措施通常不可行或施加其他限制(例如,您将如何处理漫游移动用户?)。

关于java - cookie中保存session id是什么概念?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36175970/

相关文章:

java - 如何使用 Integer.toBinaryString 设置 java 中的位数?

java - 如何避免线程饥饿

java - 如何检查一个时间段是否与java中的另一个时间段重叠

python - 按日期排序所有信息 DJANGO

iphone - 将Web应用添加到主屏幕后无法播放嵌入式Youtube视频

java - Android:类 fragment - 膨胀类映射 fragment 时出错

authentication - 如何使用spring security在grails中获取所有当前登录用户的列表(包括rememberme cookie)

javascript - 如何在cookie中存储1MB数据?

javascript - 在移动网络应用程序中删除地址栏的跨平台方法

php - jQuery - 保存/使用cookie