有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java正确的cookie管理

我不确定是否应该在it安全或/stackoverflow上发布此消息,因为我担心安全性和性能

我正试图找到一个可靠的源cookie管理。我读过OWASP,所以我大致知道什么是危险的

但我需要用cookies验证我的用户。是否有完整的分步指南

我所做的:

  • 生成一个随机且唯一的字符串

  • 将随机字符串与我的缓存rndstring中的用户关联->;用户

  • 创建一个安全的签名cookie。value=hash(rndstring+secret)| rndstring

  • 如果用户返回,我会检查散列是否匹配,以及rndstring是否在缓存中

  • 如果是,则获取用户

我认为我的方法是有缺陷的,因为我是自己做的

另一个问题是,我从缓存中的数据库中保护用户对象。如果用户更新了他的个人资料,我还必须更新缓存

我将java与play2框架+mongoDB一起使用

你能向我推荐什么资源


共 (2) 个答案

  1. # 1 楼答案

    我想这是一个关于Security StackExchange的问题,我注意到你在那里问过类似的问题,最近你问了一个excellent answer from DW。保安室里有很多人。斯塔克交换。com论坛谁会批评你的方法

    我个人不建议开发自己的会话管理,事实上我建议不要这样做。“play framework”会话管理已被许多人审查过,而您的会话管理没有也很容易存在您忽略的漏洞。我将使用您选择的编程框架提供的内置会话管理。你看过这出戏了吗

    在资源方面,您应该查看David Rook-herehere中的安全开发原则

    如果您改变主意使用cookies,您可以查看web keys,,这是一种将不可用令牌插入URL的方法

    阅读Owasp时,您是否阅读了最新的Session Management cheatsheet?我想你的很多问题都在这里得到了回答

    最后一个资源是SANS Top 25 Software Errors

  2. # 2 楼答案

    我建议您也生成一个新的唯一字符串,并在每次检查哈希值及其匹配时更新cookie值。这将提高系统的安全性。因为黑客攻击的概率在cookie被盗的情况下会降低