블로그 이미지
암초보

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

Tag

05-06 02:36
2011. 10. 17. 21:03 프로그래밍/Spring
도메인 오브젝트 방식을 사용하는 경우, @ModelAttribute로 HTTP  요청을 전달받을 때 보안 문제에 신경을 써야 한다.
예) 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가 들어가게 됨
posted by 암초보