스프링 부트의 특정 링크에 대해 GET 이외의 것을 허용하지 않습니다.

퀼 리온

링크가 많은 간단한 블로그 웹 페이지가 있습니다. 그들은 모두 GetMapping. 따라서 봇이 POST를 사용하여 해당 페이지에 액세스하려고 할 때마다 다음과 같은 오류가 발생합니다.

Request method 'Post' not supported.

을 사용하기 때문에 발생한다는 것을 이해하며로 @GetMapping전환하면 @RequestMapping모든 것이 잘 될 것입니다. 그러나 누군가가 POST로 내 블로그에 액세스하는 것을 허용하고 싶지 않습니다. POST 여야하는 유일한 페이지는 /contact/messageGET을 통해 모든 페이지에 액세스해야한다는 점을 제외하고는 있습니다.

그래서 두 가지 질문이 있습니다. 사람들이 GET 만 사용하도록 강제하는 방법은 무엇입니까? POST를 사용하려는 시도를 포착하고 리디렉션하려면 /error어떻게합니까?

사이드 노트 : 저는 스프링 보안을 사용하지 않습니다. 로그인이나 계정 뒤에 숨겨져있는 것이 없습니다. 또한 내 매핑의 대부분은 정규식을 사용하고 있습니다. 이 정보가 도움이되는지 여부를 알 수 없습니다.

@GetMapping(value = {
            "", "{page:^[1-9][0-9]*$}", "{section:^\\d*[a-zA-Z][a-zA-Z0-9]*[^.]+$}",
            "{section:^\\d*[a-zA-Z][a-zA-Z0-9]*[^.]+$}/{page:^[1-9][0-9]*$}"})

이걸 봐:

public class Tfil implements Filter {
    @Override
    public void doFilter(ServletRequest servletRequest,
                         ServletResponse servletResponse,
                         FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest req = (HttpServletRequest) servletRequest;
        if (!"GET".equals(req.getMethod())) {
            //redirect or error page
            HttpServletResponse res = (HttpServletResponse) servletResponse;
            //here redirect
            res.sendRedirect("redirect url");
            //or return 404 code
            res.setStatus(404);
        }
        filterChain.doFilter(servletRequest,servletResponse);
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

스프링 부트 테스트 구성이 일반 구성을 잘 재정의하지 않습니다.

분류에서Dev

Firefox는 외부 소스의 링크를 열지 않습니다 (예 : 스카이프에서 링크 클릭).

분류에서Dev

Firefox는 외부 소스의 링크를 열지 않습니다 (예 : 스카이프에서 링크 클릭).

분류에서Dev

특정 프로그램의 CPU 사용량을 모니터링하고 이에 대응하는 배치 스크립트

분류에서Dev

정적 컨텍스트에서 이것을 사용할 수 없으며 myPid ()가 프로세스 유형에 대해 정의되지 않았습니다.

분류에서Dev

역할 구성이 테스트 계획에 대한 역할 할당을 허용하지 않습니다. 테스트 링크 오류

분류에서Dev

navbar의 링크에 대해 margin : left를 갖고 싶지만 border-bottom이 이동하는 것을 원하지 않습니다. 내가 어떻게 해?

분류에서Dev

링크 함수의 요소 매개 변수에 대해 배열 작업이 허용되지 않습니다.

분류에서Dev

MODX는 특정 리소스에 대해 생성 된 링크 URL을 재정의합니다.

분류에서Dev

사용자 정의 웹 페이지 URL을 스프링 부트에서 특정 HTML에 매핑하는 방법은 무엇입니까?

분류에서Dev

데스크톱 19.04의 보조 드라이브에 대한 링크 저장을 의미하지 않습니다.

분류에서Dev

다운로드 진행률을 표시하기 위해 스프링 부트의 헤더에 파일 크기를 설정하는 방법은 무엇입니까?

분류에서Dev

suPHP는 심볼릭 링크를 통해 상위 magento 멀티 사이트에 대한 액세스를 허용하지 않습니다. 이 작업을 수행하는 다른 방법이 있습니까? (예제 rewrite prg)

분류에서Dev

스프링 부트 액추에이터의 정보 및 건강을 제외하고 다른 끝이 노출되지 않는 이유

분류에서Dev

더 이상 macOS의 터미널에서 마우스 스크롤을 허용하지 않는 것 같습니다.

분류에서Dev

특정 웹 사이트에 대해서만 핫 링크 방지

분류에서Dev

그것은 스프링 프레임 워크에 주석을 사용하여 빈의 이름을 설정할 수 있습니까?

분류에서Dev

배열을 수정해도 외부 루프의 길이에 영향을주지 않습니다.

분류에서Dev

한 구성에서 선언 된 스프링 빈을 재정의하는 것이 다른 구성에서 허용되는 이유는 무엇입니까?

분류에서Dev

스프링 클라우드 스트림 kafka 바인더가 특정 예외에 대한 재 시도를 허용 / 거부 할 수 있습니까?

분류에서Dev

하나의 게시물에서 여러 외부 링크에 대한 Wordpress 고급 사용자 정의 필드 외부 링크 텍스트

분류에서Dev

젠킨스가 스프링 부트 2.2.2에 대한 부모 POM을 다운로드하지 않습니다.

분류에서Dev

스프링 부트가 정적 자바 스크립트 파일을 제공하지 않습니다.

분류에서Dev

다중 컨텍스트 스프링 부팅 응용 프로그램 : 각 하위 컨텍스트에 대한 표준 스프링 부팅 속성을 정의하는 방법

분류에서Dev

스프링 나머지 템플릿을 통해 예외의 스택 트레이스를 가져옵니다

분류에서Dev

인터넷 사용자가 tomcat의 index.jsp에 액세스하는 것을 허용하지 않습니다.

분류에서Dev

중복을 제거하지 않습니다 잭슨과 스프링을 사용하여 Java LinkedHashSet의에 자바 스크립트 배열의 역 직렬화

분류에서Dev

부트 스트랩이 특정 CSS 클래스 하나에 대해서만 양식 스타일을 허용하는 이유는 무엇입니까?

분류에서Dev

스프링 부트 새로 설정된 연결의 유효성을 검사하지 못했습니다.

Related 관련 기사

  1. 1

    스프링 부트 테스트 구성이 일반 구성을 잘 재정의하지 않습니다.

  2. 2

    Firefox는 외부 소스의 링크를 열지 않습니다 (예 : 스카이프에서 링크 클릭).

  3. 3

    Firefox는 외부 소스의 링크를 열지 않습니다 (예 : 스카이프에서 링크 클릭).

  4. 4

    특정 프로그램의 CPU 사용량을 모니터링하고 이에 대응하는 배치 스크립트

  5. 5

    정적 컨텍스트에서 이것을 사용할 수 없으며 myPid ()가 프로세스 유형에 대해 정의되지 않았습니다.

  6. 6

    역할 구성이 테스트 계획에 대한 역할 할당을 허용하지 않습니다. 테스트 링크 오류

  7. 7

    navbar의 링크에 대해 margin : left를 갖고 싶지만 border-bottom이 이동하는 것을 원하지 않습니다. 내가 어떻게 해?

  8. 8

    링크 함수의 요소 매개 변수에 대해 배열 작업이 허용되지 않습니다.

  9. 9

    MODX는 특정 리소스에 대해 생성 된 링크 URL을 재정의합니다.

  10. 10

    사용자 정의 웹 페이지 URL을 스프링 부트에서 특정 HTML에 매핑하는 방법은 무엇입니까?

  11. 11

    데스크톱 19.04의 보조 드라이브에 대한 링크 저장을 의미하지 않습니다.

  12. 12

    다운로드 진행률을 표시하기 위해 스프링 부트의 헤더에 파일 크기를 설정하는 방법은 무엇입니까?

  13. 13

    suPHP는 심볼릭 링크를 통해 상위 magento 멀티 사이트에 대한 액세스를 허용하지 않습니다. 이 작업을 수행하는 다른 방법이 있습니까? (예제 rewrite prg)

  14. 14

    스프링 부트 액추에이터의 정보 및 건강을 제외하고 다른 끝이 노출되지 않는 이유

  15. 15

    더 이상 macOS의 터미널에서 마우스 스크롤을 허용하지 않는 것 같습니다.

  16. 16

    특정 웹 사이트에 대해서만 핫 링크 방지

  17. 17

    그것은 스프링 프레임 워크에 주석을 사용하여 빈의 이름을 설정할 수 있습니까?

  18. 18

    배열을 수정해도 외부 루프의 길이에 영향을주지 않습니다.

  19. 19

    한 구성에서 선언 된 스프링 빈을 재정의하는 것이 다른 구성에서 허용되는 이유는 무엇입니까?

  20. 20

    스프링 클라우드 스트림 kafka 바인더가 특정 예외에 대한 재 시도를 허용 / 거부 할 수 있습니까?

  21. 21

    하나의 게시물에서 여러 외부 링크에 대한 Wordpress 고급 사용자 정의 필드 외부 링크 텍스트

  22. 22

    젠킨스가 스프링 부트 2.2.2에 대한 부모 POM을 다운로드하지 않습니다.

  23. 23

    스프링 부트가 정적 자바 스크립트 파일을 제공하지 않습니다.

  24. 24

    다중 컨텍스트 스프링 부팅 응용 프로그램 : 각 하위 컨텍스트에 대한 표준 스프링 부팅 속성을 정의하는 방법

  25. 25

    스프링 나머지 템플릿을 통해 예외의 스택 트레이스를 가져옵니다

  26. 26

    인터넷 사용자가 tomcat의 index.jsp에 액세스하는 것을 허용하지 않습니다.

  27. 27

    중복을 제거하지 않습니다 잭슨과 스프링을 사용하여 Java LinkedHashSet의에 자바 스크립트 배열의 역 직렬화

  28. 28

    부트 스트랩이 특정 CSS 클래스 하나에 대해서만 양식 스타일을 허용하는 이유는 무엇입니까?

  29. 29

    스프링 부트 새로 설정된 연결의 유효성을 검사하지 못했습니다.

뜨겁다태그

보관