반응형
웹사이트에 유효성 검증 기능을 적용하다가 생각해냈다.
view(MVC할때 view)쪽에서 HTML Form input의 pattern을 설정하고있는데
<div class="container box">
<form class="showSignUpForm" method="POST" action="/users/signUp">
<label for="inputEmail">email</label>
<input id="inputEmail" name="email" required pattern="[^\s@]+@[^\s@]+\.[^\s@]+">
<label for="inputName">name</label>
<input id="inputName" name="name" required>
<label for="inputPassword">password</label>
<input id="inputPassword" name="hashPassword" required>
<button type="submit">제출</button>
</form>
</div>
생각해보니까 view 파일들은 브라우저에서 소스를 확인하고 수정 할 수 있고,
이를 악용하면 pattern만 쏙 지워서 이상한 데이터 값을 넣을수 있겠다 싶어 테스트해봤다.
일반적인 상황
하지만 여기서 pattern 속성을 지워준다면?
pattern 속성 지움
원치 않은 결과가 나온다.
따라서
controller랑 model에서도 유효성 체크를 해줘야 한다!!!
'프로그래밍 > nodeJS' 카테고리의 다른 글
Controller 수준의 유효성 검증 (express-validator) (2) | 2020.12.07 |
---|---|
bcrypt를 사용한 비밀번호 암호화 (2) | 2020.11.22 |
flashMessage(connect-flash 패키지) (2) | 2020.10.25 |
ejs와 레이아웃(express template) (2) | 2020.10.20 |
미들웨어 구조와 기본 미들웨어 세팅 (2) | 2020.10.18 |