JSP 직접접근 막기.


JSP 를 WEB-INF 하위 디렉토리에 놓는 것이 최상이다.

WEB-INF 디렉토리는 클라이언트에게는 접근이 금지되어 있으나, 컨테이너는 접근이 허용된다.

JSP 페이지를 URI 로 접근하면 실행할 수 없으나, 컨터이너는 실행 가능하다는 것이다.


하지만, 이미 JSP 파일들이 WEB-INF 경로에 있지 않아, 외부에서 JSP 직접접근이 가능하다면,

'security-constraint' 로 직접접근을 제한한다.


EX ) WEB-INF/web.xml 추가

    <!-- Security-Constraint(JSP 접근제한) -->

    <security-constraint>

        <display-name>JSP Pages Protection</display-name>

        <web-resource-collection>

            <web-resource-name></web-resource-name>

            <url-pattern>/search/*</url-pattern>

            <url-pattern>/smartsearch/*</url-pattern>

            <http-method>GET</http-method>

        </web-resource-collection>

        <auth-constraint/>

    </security-constraint>


- url-pattern : 특정디렉토리에 인증(제한)을 걸 수 있게 경로지정

- http-method : 인증(제한)할 메서드를 지정

- auth-constraint : 컨테이너에게 관련 URL 에 대해 인증을 실시하라는 명령

<auth-constraint> 가 없다면 URL 에 대한 인증없이 접근가능

<auth-constraint/> 와 같은 형식으로 되어 있다면, 모든 사용자 접근불가


- 인증의 종류

1. BASIC

2. DIGEST

3. CLIENT-CERT

4. FORM



※ 출처 : http://4te.co.kr/572 (문제시 자삭. 댓글주세요)



+ Recent posts