【问题标题】:How to verify two different browsers on the server using spring-boot?如何使用 spring-boot 验证服务器上的两个不同浏览器?
【发布时间】:2020-04-16 15:09:00
【问题描述】:

我在前端使用 react js,后端使用 spring boot。现在,我需要获取某种浏览器签名或浏览器特定信息以存储在服务器上,以便从每个新请求中,我可以验证用户是从同一个浏览器还是从其他浏览器访问 URL。

我尝试了多种方法在后端获取浏览器特定信息,但没有成功。请指导我使用哪些浏览器特定信息,我可以将 get 发送到我的 spring-boot URL 中,然后将其存储起来以进行进一步的验证过程。

提前致谢!

【问题讨论】:

    标签: reactjs spring-boot security authentication browser


    【解决方案1】:

    我会尝试在客户端浏览器上设置 cookie 并在服务器端跟踪 cookie/会话值。

    例如你可以设置cookie-

    // create a cookie
    Cookie cookie = new Cookie("someUniqueValueLike", uuid);
    //add cookie to response
    response.addCookie(cookie);
    

    读取 cookie

    public String readCookie(@CookieValue(value = "someUniqueValueLike") String uuidString) {
        //verify the cookie value here
    }
    

    【讨论】:

    • 感谢您的回复。我还发现这是解决我的问题的最佳解决方案,但是如果我使用 JWT 令牌进行会话管理并且我担心令牌被盗,这意味着如果我将使用来自不同系统的相同令牌,那么它也会起作用。那么,我应该将 JWT 与会话 cookie 一起使用以使令牌特定于浏览器吗?
    • 在 https 下所有标头(cookies 作为标头发送)都被加密。所以在Authorization标头中发送您的JWT字符串是安全的,只要您将它安全地存储在客户端 - stackoverflow.com/questions/44096270/…
    猜你喜欢
    • 1970-01-01
    • 2020-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-10
    • 1970-01-01
    • 2019-03-09
    • 1970-01-01
    相关资源
    最近更新 更多