등록폼 코드짜보는 도중에 궁금증이 하나 생겼어
@Controller
@SessionAttributes("product")
public class TeachController {
@Autowired
private Service service;
// 등록 폼 띄우는 메서드
@RequestMapping(value = "basic.do", method = RequestMethod.GET)
public void basic(Locale locale, ModelMap model) throws Throwable {
Product lp = new Product();
lp.setPrice(0);
lp.setType("사과");
model.put("product", lp);
}
// 등록하는 메서드
@RequestMapping(value = "basic.do", method = RequestMethod.POST)
public void basicPost(@ModelAttribute("product") Product product) throws Throwable {
service.update(product); // DB업데이트
}
}
책에보면 보통 이런식으로 등록폼을 만들잖아
처음에 GET요청 받으면 대충 디폴트 값넣어주고 등록페이지로 이동을 하겠지 그러고선 입력을 다 마치고 서밋 날리면
등록하는메서드로 들어가서 업데이트가 무사히 완료가되겠지 그런데
만약 저 도메인오브젝트에 바뀌면 안되는 중요한 컬럼하나가 있는데, GET요청후에 등록페이지에서 input태그에 name요소를 예측해서 바꿔치기했는데 중요한 컬럼변수랑 이름이 같으면 (F12눌러서 input name요소를 바뀌치기하고 서밋날리면) 심각한 문제가 생기잖아???
설명고잔데 찰떡같이 알아듣고 설명해주면 고맙겠어..ㅠㅠㅠ
dd
ㅇㅇ
검색어CSRF