Весенняя загрузка точная запятая рядом с переменной пути - PullRequest
0 голосов
/ 31 марта 2020

У меня есть приложение весенней загрузки с версией 2.1.0.RELEASE.

У меня есть переменная пути в моем URL-адресе, например @GetMapping("/{type}/car"), и я вызываю мое приложение с помощью:

http://localhost:8080/BMW;AAAAAAAAAAAAA/car 

Но я получаю только строку BMW. Весной пропустите точную запятую и "AAAAAAAAAAAAA".

Я применяю фильтр, и у меня есть такой же опыт с ним. Я хочу получить переменную пути, например "BMW; AAAAAAAAAAAAA", но я не получаю ее.

Причина, по которой я хочу отфильтровать такого рода вызовы, потому что это дыра в безопасности.

Ответы [ 2 ]

1 голос
/ 31 марта 2020

Попробуйте сначала кодировать, значение будет BMW%3BAAAAAAAAAAAAA, вы можете использовать UriUtils для кодирования и декодирования.

0 голосов
/ 02 апреля 2020

Я могу найти возможное решение:

@Configuration
public class SolutionConfig extends WebMvcConfigurationSupport {

@Override
protected PathMatchConfigurer getPathMatchConfigurer() {
    PathMatchConfigurer pathMatchConfigurer = super.getPathMatchConfigurer();
    UrlPathHelper urlPathHelper = new UrlPathHelper();
    urlPathHelper.setRemoveSemicolonContent(false);
    pathMatchConfigurer.setUrlPathHelper(urlPathHelper);
    return pathMatchConfigurer;
    }
}

Ссылка на исходный код: https://github.com/spring-projects/spring-framework/blob/master/spring-web/src/main/java/org/springframework/web/util/UrlPathHelper.java

Имя ключевого метода: "removeSemicolonContent".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...