2011. 10. 17. 21:03
프로그래밍/Spring
도메인 오브젝트 방식을 사용하는 경우, @ModelAttribute로 HTTP 요청을 전달받을 때 보안 문제에 신경을 써야 한다.
예) HTML에 담긴 폼의 내용을 보고 수정 폼에 없는 필드를 추측해서 추가해서 보냈을 때, 일치하는 경우 보안 문제가 생김. (ex: 회원등급)
allowedFields : 허용 필드 목록(명시한 필드 외의 필드는 모두 무시)
disallowedField : 금지 필드 목록(금지필드 모두 무시)
이 두가지 중 하나 선택하면됨.
requiredFields : 필수 필드, 바인딩 시 필수 파라미터 중에서 빠진게 있다면 바인딩 에러로 처리.
fieldMarkerPrefix : 체크박스 같은 경우 체크 안할시 값이 넘어오지 않음.
그래서 이전의 체크했던것이, 체크하지 않은 값으로 변경되지 않음.
해당 이름의 파라미터가 요청정보에 없다면, 해당 프로퍼티 값을 리셋해줌
boolean 타입이면 false, 배열타입이면 빈배열, 그 외라면 null
예) HTML에 담긴 폼의 내용을 보고 수정 폼에 없는 필드를 추측해서 추가해서 보냈을 때, 일치하는 경우 보안 문제가 생김. (ex: 회원등급)
allowedFields : 허용 필드 목록(명시한 필드 외의 필드는 모두 무시)
disallowedField : 금지 필드 목록(금지필드 모두 무시)
이 두가지 중 하나 선택하면됨.
requiredFields : 필수 필드, 바인딩 시 필수 파라미터 중에서 빠진게 있다면 바인딩 에러로 처리.
fieldMarkerPrefix : 체크박스 같은 경우 체크 안할시 값이 넘어오지 않음.
그래서 이전의 체크했던것이, 체크하지 않은 값으로 변경되지 않음.
해당 이름의 파라미터가 요청정보에 없다면, 해당 프로퍼티 값을 리셋해줌
boolean 타입이면 false, 배열타입이면 빈배열, 그 외라면 null
hidden 필드에 name에 "_" 접두어 붙임(필드마커라고 함), value="on"
fieldDefaultPrefix : 디폴트 값 지정. "!" 접두어 사용
ex)<input type="hidden" name="!type" value="member"/>
type이라는 이름의 파라미터가 존재하지않는다면, 필드 디폴트의 value 값에
담긴 내용을 해당 프로퍼티에 바인딩해준다. 즉, type에 member가 들어가게 됨
ex)<input type="hidden" name="!type" value="member"/>
type이라는 이름의 파라미터가 존재하지않는다면, 필드 디폴트의 value 값에
담긴 내용을 해당 프로퍼티에 바인딩해준다. 즉, type에 member가 들어가게 됨
'프로그래밍 > Spring' 카테고리의 다른 글
SpringSource Tool Suite 사용 이유? (0) | 2011.10.31 |
---|---|
메시지 컨버터를 이용한 AJAX 애플리케이션 코드 작성 방법 (0) | 2011.10.18 |
Spring 트랜잭션 전파(propagation) (0) | 2011.10.08 |
POJO (0) | 2011.10.07 |
오픈소스 DB 커넥션 풀 라이브러리 (0) | 2011.10.06 |