ServletResponse Redirect 在 302 响应中显示应用程序服务器地址

问题描述 投票:0回答:1

为什么在显示我的应用程序服务器 IP 地址及其端口的重定向后发送“隐藏”302 响应(参见上图)

这被安全团队视为敏感信息

这是我的代码

        try {
                    
        connectedUser = _authService.login(login, password);
      
        // redirect to index if user logged in successfully 
        Faces.redirect("index.xhtml");
        
        
    }
    catch (AuthenticationException e) {
        captchaRequired = e.isRequireCaptcha();
        throw new BusinessException(e.getMessage());
    }

我怎样才能隐藏它?

我必须注意到登录机制运行良好

java jsf servlets jakarta-ee omnifaces
1个回答
0
投票

302 响应就是重定向!如果您想进行重定向,则无法隐藏 302 响应。

如果我无法隐藏响应,那么我必须隐藏服务器IP和端口,这就是问题所在。

好的...如果问题是您重定向到私有 IP 和端口,那么解决方案是指定您要重定向到的完整 URL。

改变:

Faces.redirect("index.xhtml");

Faces.redirect("https://<host>/view/index.xhtml");

你的服务器的公网IP地址在哪里。

或者,不要进行重定向。 (在经典的 servlet 世界中,您可以将请求“转发”到另一个 servlet,或者简单地呈现响应。)

话虽如此,我认为您的安全团队在这里出了问题。

    如果他们告诉你隐藏的端口和IP地址是秘密的,那么他们应该被防火墙屏蔽。什么会(显然)阻止您的重定向工作。但更重要的是,这意味着 IP/端口的秘密信息一点也不重要。
  1. 10.x.x.x IP 地址是私有地址。假设您的网络已正确实施,则该地址根本无法从公共互联网路由。事实上,只有当坏人能够进入您的私人网络时,这才有意义。
  2. 简而言之,要成为一个真正的问题,你必须有更大/更糟糕的安全问题

© www.soinside.com 2019 - 2024. All rights reserved.