바인딩에 관하여.
254
작성한 질문수 2
Student클래스에서
겨우 Student객체의 Name메소드의 getter, setter를 작성했는데 다시 그걸 BindNever를통해 입력을 받지 않는 이유가 무엇인가요?? 경우에따라 취사 선택하여 데이터를 받기 위함인가요???
답변 1
4
안녕하세요.
네 맞습니다. 경우에 따라 선택가능한 데이터만 받기 위한건데요. 강좌에서는 자세한 설명을 하지 않았지만 BindNever 쓰는 것 자체가 해커의 오버포스팅(Over-Posting) 공격을 막기 위함입니다.
가정을 해봅시다.
현재 우리 Student 페이지에 존재하는 세 필드들이 있습니다. Name, Age, Country가 있는데요.
이 중 Country 필드가 더 이상 데이터베이스에 저장할 필요가 없어져서 Html에서 뺐다고 하겠습니다.
하지만 해커는 페이지에 Country 필드가 사라졌다고해서 이 값을 서버로 못보내는게 아닙니다.
포스트맨/피들러 같은 툴 또는 간단한 자바스크립트 코드를 통해서 서버로 Country 값까지 악의적으로 보낼 수 있어요.
우리는 분명 Country 값이 필요없어져서 차단을 시켜야되는데 서버에서는 일단 HttpPost요청을 통해서 Country 값까지 들어왔으니 어쩔 수 없이 Country 값까지 데이터베이스에 저장하게 되는겁니다. 물론 기타 방법들을 통해 또 가려내는 방법이 있겠지만 어쨌거나 코드는 간결해야되어서 최대한 간단한 코드를 통해 차단을 시키는 겁니다. 그게 바로 BindNever가 되겠죠.
상황에 따라 차단(BindNever)을 해야 될 데이터 또는 무조건 받아야(Bind) 할 데이터가 있기 때문에 쓰게 되는 거구요.
마이그레이션 오류
0
329
0
Identity 관련 질문
0
278
0
net core 2.1 버전에는 없는건가요
0
299
0
Identity 계정 생성 로직 강의에서 Register() 함수 호출 오류 문의
0
395
1
DbContext 상속
0
292
0
razor syntax 질문
0
341
0
마이그레이션 문제 질문
0
355
1
강의할때 코드 크게 보여주실수 있나요 ...
0
332
1
윈도우 10에서 배포하는 방법 문의
0
263
0
UseSqlServer 오류
0
1047
5
[Authorize] 헤더
0
257
1
dotnet ef database update 문제
0
224
0
MVC 패턴 순서
0
298
0
폴더명은 항상 정해져있나요?
0
215
0
HTTP Error 500.30 - ANCM In-Process Start Failure
0
1199
2
Add 함수와 Save를 따로 만드는 이유가 있을까요?
0
291
1
UseMvc 안됨(core 3.0)
0
410
4
값이 넘어왔는지 찍어보는 거요..
1
329
3
널참조 에러
0
371
1
ValidateAntiForgeryToken를 쓰는 이유
0
865
3
아무리 해도 안되네요.
0
312
3
sqlserver가 MSSQLLocalDB가 없어요
0
253
1
AddScoped, AddTransient, AddSingleton 차이점
0
701
1
엔티티 프레임워크를 아마존 rds랑 연동하고 싶습니다.
0
187
1





