HttpServletRequest.getRequestURL()是否可以欺骗?

时间:2015-06-29 09:19:22

标签: java java-ee servlets httprequest spring-security-cas

我希望问题是自我解释的。我正在建立一个带有CAS服务器的Spring Security环境。因为完全相同的应用程序部署在同一台服务器上,但服务器可通过不同的主机名(.de域,.com域,可能更多)访问,我们希望在测试系统和本地应用程序上部署相同的应用程序同样,我构建了一个动态服务,其中服务URL是从请求URL派生的。

public static String makeDynamicUrlFromRequest(ServiceProperties serviceProperties, HttpServletRequest request) {
        String serviceUrl = "https://backup-url.de/login";
        URI uri = null;
        try {
            uri = new URI(request.getRequestURL().toString());
        } catch (URISyntaxException e) {
            logger.error("Someone tried accessing a disallowed service!", e);
        }

        if(uri != null){
            serviceUrl = uri.getScheme() + "://" + uri.getHost() + "/login";
        }

        return serviceUrl;
    }

有可能欺骗这个吗?如果是,那么额外的正则表达式检查是否为我提供了必要的安全措施?

0 个答案:

没有答案