我希望问题是自我解释的。我正在建立一个带有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;
}
有可能欺骗这个吗?如果是,那么额外的正则表达式检查是否为我提供了必要的安全措施?