ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 쇼핑몰 등 실제 서비스에서 질문등?
    Node.js,MongoDB 2022. 4. 20. 12:50

    1. Mongoose는 필수?

    MongoDB에 데이터를 넣고 뺄 때 라이브러리 2개 중 1개를 택할 수 있다.

    MongoDB Native Driver과 Mongoose가 있다.

    MongoDB Native Driver는 지금까지 사용한 것인데, 둘의 관계는 js와 jQuery같은 관계이다.

    Mongoose를 사용하면 약간 편해지며 validation(데이터 검증 작업 예를 들면, 한글아이디 입력을 막는것)이 쉬워진다.

    MongoDB Compass를 이용하면 Mongoose처럼 쉽게 사용할 수 있어서 필수는 아니다.

     

    2. 보안은?

    악성유저가 되어서 사이트를 테스트해보면 쉽다.

    예를 들면, 회원가입시 너무 긴 아이디를 넣는다거나, 영어를 넣어야할 곳에 한글을 넣거나 이런건 if문으로 검사하면 끝이다. 이런 것도 보안이라고 부른다.

    그리고 서버에 대한 공격도 대비하는게 좋은데 <script>를 서버로 보내는 XSS공격은 <>를 서버로 못보내게 하거나, <>를 &It; &gt;로 바꾸던지 이런 대처법을 마련하면 된다.

    또, brute force attack과 같이 1분동안 1억번 로그인요청하는 공격은 Captcha를 도입하거나 1분동안 요청을 최대 30회로 제한하던가(express-rate-limit라이브러리 사용)할 수 있다.

     

    3. 관리자기능은?

    어떤 회원은 모든 기능을 사용할 수 있어야한다. 이건, 회원정보할 때 관리자 여부를 true나 false로 저장하고, 로그인 시 요청.user.관리자 == true면 가능하게 이렇게 만들면 된다.

     

    4. 쇼핑몰은 어케만들징?

    큰거만들땐 작은거부터 만들어야 한다. 상품보여주기, 주문하기, 등등 하나하나 만들기 시작하면 된다.

     

    목표와 수단의 차이도 알아두면 좋다고한다.

    만약 상품을 파는게 목표면 직접 개발은 너무 오래걸리기에 빌려쓰는게 나을 수 있다. 

    개발자가 되는게 목적이면 만들어보는 것도 좋지만, 상품을 파는거면 빌리는게 낫다.

    댓글

Designed by Tistory.