쉽게 배우는 JSP 웹 프로그래밍 - 4 - 유효성 검사 - 시큐리티
포스트
취소

쉽게 배우는 JSP 웹 프로그래밍 - 4 - 유효성 검사 - 시큐리티

        • 유효성 검사 (validation) - - - - “사용자가 폼 페이지에서 입력한 데이터 값이 서버로 전송되기 전에 특정 규칙에 맞게 입력되었는지 검증하는 것을 말한다.”

“유효성 검사를 위한 핸들러 함수” 폼 페이지에서 이벤트가 발생했을 때의 유효성 감사를 위해 매핑하는 메소드. 자바스크립트를 이용하여 코드 작성

onclick 등 이벤트로 다루고 alert 처리하면 됨

웹 브라우저에서 유효성 검사를 처리하므로 서버에 영향이 없음

    • 데이터 형식 유효성 검사 - - > 정규 표현식을 이용함

Flag의 종류 = i : 대소문자 구별하지 않고 검출 = g : 문자열 내 모든 패턴 검출 = m : 줄 바꿈 행 검출

test : true or false exec : 정규 표현식에 부합된 문자열 추출

정규 표현식은 필요할 때 퍼오자 자주 사용하는 패턴 - ‘쉽게배우는 JSP 웹 프로그래밍 277p’

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

        • 시큐리티 - - - - > 허가된 사용자만이 접근할 수 있도록 제한 사용자가 웹 페이지에 접근할 때 JSP 컨테이너는 요청된 페이지에 보안 제약이 있는지 확인하고 사용자에게 인증(authentication)을 요청한다. 이러한 인증은 일반적으로 사용자의 이름과 암호를 확인하여 수행. JSP 컨테이너는 인증 여부를 결정하고 승인하면 이를 권한부여(authorization)이라고 한다.

선언적 시큐리티 = web.xml 파일에 보안 구성을 작성하여 사용자가 인증을 수행

프로그래밍적 시큐리티 = request 내장 객체의 메소드를 통해 권한 부여를 처리

톰캣 서버에 인증 정보가 저장되는 장소는 /(tomcat root)/conf/tomcat-users.xml 또는 웹 - 톰캣 연동을 위해 생성한 Server 프로젝트 내의 tomcat-users.xml 파일에 사용자와 역할이 구성되어 있다.

파일 내의 주석을 해제해야 기존에 설정된 역할과 (role - user) 사용자를 사용하거나 새로운 역할과 사용자를 추가할 수 있다.

    • 선언적 시큐리티(declarative security) - - web.xml에 tomcat-users.xml과 동일한 role을 선언

1.사용자 설정 2.역할 설정

  • 참고 : 쉽게 배우는 JSP 웹 프로그래밍 332p

시큐리티 제약 사항 (security-constratint) = 사용자의 요청 URL에 대한 접근 권한을 정의

1.웹 자원에 대한 접근을 설정 1-1 웹 자원의 이름을 설정. 생략 가능 1-2 접근 제한을 요청할 URL 목록을 설정. 생략 가능 1-3 http 메소드를 설정 (GET | POST) 2.웹 자원에 접근할 수 있는 인증된 사용자를 설정 2-1 description 권한 부여 제약 사항에 대한 설명을 기술 2-2 role-name 3.데이터 전송 시 데이터 보호를 설정 3-1 NONE, INTEGRAL, CONFIDENTIAL

  • 참고 : 쉽게 배우는 JSP 웹 프로그래밍 333p

시큐리티 인증 = 인증 처리를 위한 페이지 호출하는 데 사용

  1. 웹 자원에 대한 인증 처리 방식을 설정 1-1 BASIC, DIGEST, FORM, CLIENT-CERT 1-2 form태그에 j_security 같은걸 작성해야함

    이런걸 적고 있을 리가 없다

  2. 웹 자원에 접근할 수 있는 인증된 사용자를 설정 2-1 영역 이름을 설정
  3. 데이터 전송 시 데이터 보호를 설정 3-1 요청 URL과 에러 페이지 호출을 설정

    • 프로그래밍적 시큐리티 - - request 내장 객체를 이용함

getRemoteuser : 사용자 인증 상태 getAuthType : 서블릿을 보호하는 데 사용되는 인증 방식의 이름 isUserInRole : 설정된 역할이 있는지 확인 getProtocol : 요청 프로토콜 isSecure : https 요청으로 request가 들어왔는지 확인 getUserPrinciple : 인증한 사용자의 이름을 포함하여 객체 반환


이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.