앱과 DB 직접 연결하면 안되는 2가지 이유

Поделиться
HTML-код
  • Опубликовано: 8 сен 2024
  • #앱_데이터베이스_설계#앱_DB_연결#아키텍쳐_설계
    앱 - DB 직접 연결이 안되는 이유 정리해봅니다~
    멤버쉽 가입하시면 IT분야 진로 상담, 앱개발 컨설팅 1:1로 진행합니다~
    / @with2511

Комментарии • 41

  • @HDPE-IT
    @HDPE-IT 3 года назад +23

    영상으로 설명해주신 것이 맞습니다.
    1. DB 커넥션 정보는 app client에 담고있으면 안되죠. 난독화가 되었다고 해도 생각보다 디컴파일러 성능이 좋습니다. 어떻게든 DB 커넥션 정보가 보일 수 밖에 없습니다. 이는 DB서버에 직접 공격을 유발할 수 있는 취약점입니다.
    2. 구글 클라우드 인스턴스를 재시작하면 IP 주소가 생각보다 자주 바뀌더라구요. 그래서 app은 domain을 요청하게 만들고, 도메인 A 레코드를 클라우드 인스턴스 IP로 설정해주는 것이 커플링을 낮출 수 있지 않을까 생각해봅니다.
    3. 영상에서는 app만 말씀해주셨지만, 생각보다 실제로 개발할 때 간과하는 것들이기 때문에 주의해야 합니다.

    • @with2511
      @with2511  3 года назад +2

      오~~ 좋은 추가 정보 감사합니다~! 베리 굿이네요!

  • @parkjune8171
    @parkjune8171 3 года назад +1

    감사합니다 고객사에서 어플리케이션이랑 DB바로 연결해서 쓰고있었는데 마침 궁금했는데 감사합니다

    • @with2511
      @with2511  3 года назад

      도움이 되셨다니 좋네요!

  • @hyehoonlee7321
    @hyehoonlee7321 3 года назад +4

    선댓글 후감상 좋은 영상 감사합니다 ~~

    • @with2511
      @with2511  3 года назад

      선댓글 상당히 기분 좋네요~ 재밌게 보세요~ ^^

  • @kimminsouk1975
    @kimminsouk1975 Год назад +1

    gslb 를 쓰지않고 이중화 하려는 경우, ad 의 dns 를 써 데이터베이스를 idc 간 2, 3중화 하고 해당 데이터베이스를 바라보는 was 는 저 dns 를 바라보는게 좋겠죠. was 의 db connection 정보는 키 서버와의 통신을 이용해 받은 키를 이용해 암호를 해독한 후 사용하도록 합니다. 키 서버와 was 의 통신은 acl 이나 여러 방법으로 제한하게 됩니다. 이 경우 소스가 노출되어도 키 서버와의 연결이 안되어 db connection 정보를 안전하게 보호 할 수 있을 것 같습니다. 좋은 강의 잘 봤습니다.

  • @actoobe1713
    @actoobe1713 3 года назад +1

    항상 알림 해놓고 챙겨보고 있습니다
    감사합니다~~

    • @with2511
      @with2511  3 года назад

      오~~ 알림 좋아요~~!

  • @User_Masuri
    @User_Masuri 3 года назад +2

    좋은 내용 감사합니다! 잘 보고갑니다!

  • @user-mv9ur7ct8f
    @user-mv9ur7ct8f 3 года назад

    오늘도 감사합니다!!

    • @with2511
      @with2511  3 года назад +1

      저도 감사해요~!

  • @user-zy4ux7db1q
    @user-zy4ux7db1q Год назад

    감사합니다!

  • @Syw1008
    @Syw1008 2 года назад +1

    몇가지 질문이 있는데,
    db 커넥션 정보라는 것은 연결된 db의 계정 정보인 거죠??
    db 계정의 아이디와 패스워드를 클라이언트단에서 알게되면 해당 db에 접속해서 악영향을 끼칠 수 있다는 거군요..!
    그렇다면 제가 파이어베이스를 썼을 때 앱 자체에서 쿼리문을 많이 사용했는데 단순히 쿼리문이 노출되는 것은 괜찮은 건가요..??
    그리고 파이어베이스같은 경우 앱과 연동하기 위해 디펜던시 등을 설정했던 것같은데 이런 정보도 노출이 되면 안되는 건가요??
    2022년 새해복 많이 받으시구
    항상 유익한 강의 감사합니다.!

    • @with2511
      @with2511  2 года назад +3

      단순 쿼리도 직접적인 영향은 없을 수 있는데요. 쿼리 문제 데이터 베이스 테이블 정보들이 있어서 노출을 피하는 게 좋긴 합니다. 그래도 서버 api를 연동하고, api 소스(서버) - DB로 연결을 해서 응답을 받구요. 앱에 특정 정보들이 많이 들어가는 것은 좋지 않습니다. 디컴파일이 된다고 생각해야 하는데요. 물론 아주 유명한 앱이거나 금융 관련이 아니라면 해킹 시도를 하진 않을 수 있구요.
      새해 복 많이 받으세요~

    • @Syw1008
      @Syw1008 2 года назад

      감사합니다!!

  • @user-bm6us5xu9n
    @user-bm6us5xu9n Год назад +3

    여러가지 이유가 있겠지만..아래 댓글에 몇몇분이 달아 주신거 같고..
    이런 것도 있죠..DDos 공격으로 부터 보호도 해야 합니다.
    API로 개발을 하면 앞에 API GW를 두어서 Request 횟수들을 조절 하도록 설정을 할 수도 있으니까요..

  • @munjinpark4303
    @munjinpark4303 Год назад +1

    1년전 영상이지만 제가 궁금했던 내용을 잘 설명해주셨습니다. 감사드리며 한가지 더 질문드립니다.
    파이어베이스의 파이어스토어 디비의 예제의 경우 대부분 앱에서 바로 대비에 접근하게 되어 있는데 서버리스의 경우는 이렇게 사용해도 되는건가요??

    • @with2511
      @with2511  Год назад

      서버리스의 경우도 DB 사용 가능합니다~

    • @munjinpark4303
      @munjinpark4303 Год назад

      @@with2511 사용가능여부가 아니라, 플러터 앱내에서 바로 디비접근을 하거나 스토리지에 바로 업로드 하는 방식으로 처리를 하고 계신데 서버연동없이 클라이언트에서 처리해도 문제가 없는것인지 궁금합니다.

    • @with2511
      @with2511  Год назад

      @@munjinpark4303네, 기술적으로 가능합니다~

    • @gazuazua
      @gazuazua Год назад +1

      ​@@munjinpark4303 파이어베이스는 자체적으로 통신 과정에서 보안이 돼 있어서 클라이언트 단에서 구현해도 문제가 없는 걸로 알고 있습니다. 가이드에 나온대로만 구현하면 문제 없다고 봅니다.

    • @munjinpark4303
      @munjinpark4303 Год назад

      @@gazuazua 답변 감사합니다^^

  • @user-eo5zg3lq5b
    @user-eo5zg3lq5b 4 месяца назад

    안녕하세요, 좋은 영상 감사드립니다 !
    구글의 Firebase 는 실시간 DB 및 FCM(푸쉬알림) 기능 지원을 위해
    Flutter app client 코드에 포함시키는 걸로 알고있는데, 해당 부분도 보안에 위험이 있을까요 ?

    • @with2511
      @with2511  4 месяца назад

      안녕하세요~ 답변이 늦었네요. 말씀하신 부분은 괜찮을거 같은데요~

  • @hjkim5188
    @hjkim5188 3 года назад +1

    올려주신 "모바일 서버 구축 영상"보고 이 영상으로 들어왔습니다. 제 경우는 보안상 문제보다는 사용할 DB서버가 DB동시 접속자수 제한 라이선스가 걸려 고민이 였습니다. 두 영상 많은 도움 되었습니다.

    • @with2511
      @with2511  3 года назад

      도움이 되셨다고 하시니 좋네요! 사용할 DB 접속자수에 라이센스가 제한이 되어 있다고 하시는거죠? 그런데, 혹시 WAS - DB 연결되면 접속자 수라는 게 WAS 서버 수인가요?

    • @hjkim5188
      @hjkim5188 3 года назад

      @@with2511 MS-SQL server를 사용합니다. 생산관리 관련 설비와 모니터가 (수십~수백) 모두 DB에 접속하는 방식으로 검토하다 라이선스 문제를 알았습니다. 영상 덕분에 진행 방향을 잡는데 많은 도움 되었습니다.

  • @bakelee5178
    @bakelee5178 Год назад

    알렉님 영상 항상 잘 보고 있습니다. 이 내용이 앱과 동일하게 웹과도 적용되는 내용인가요?

  • @Yh-ok2rd
    @Yh-ok2rd 3 года назад

    감사합니다.

  • @12ii12ii1
    @12ii12ii1 4 месяца назад

    그럼 restapi or graphql 를 통해서 디비에 접근하는 방식이 좋을까요?

    • @with2511
      @with2511  4 месяца назад

      아~ 맞아요. 그래서 restapi를 통해서 데이터를 주고 받게 되는거죠.

  • @user-yt5hx1co8y
    @user-yt5hx1co8y 3 года назад

    Sqlite를 아직 잘모르나 데이터베이스가 굉장히 넘어야할 산들이 많네요.. 산넘어산~

    • @with2511
      @with2511  3 года назад +2

      하나씩 배워 나가죠~ sqlite는 앱에서 데이터 저장할 때 사용하는 DB인데, 알아두면 향후에 앱에서 데이터 저장할 때 써먹을 수 있어서 좋습니다~

  • @user-kj2gj3xj4p
    @user-kj2gj3xj4p 3 года назад

    이해가 되네요 ㅎㅎ 고맙습니다. 멘토링 가입하면 개발에 대한 상담 수시로 가능한가요?

    • @with2511
      @with2511  3 года назад

      구독 하신지 오래 되신거 같으시네요^^
      멘토링 가입하시면 수시로 오픈 카카오톡 1:1로 채팅 질문 주실 수 있고, 답변 드리구요.
      한번씩 보이스톡으로 진로라든가 개발 관련 통화 하실 수 있습니다~
      현재 진행 중인 실시간 앱 개발 강의 영상 추가로 보실 수가 있으시구요~

  • @user-vw5jz7by1k
    @user-vw5jz7by1k 4 месяца назад

    앱에서 db 접속은 외부접속이 가능한 db를 사용하면 되는건가요? 보통 카페24에서 호스팅 해보니 db주소가 localhost로 되더라구요
    한가지 더 질문드리면
    이미지 파일을 업로드 할때 외부접속 되는 db면 이미지파일은 어디에 저장하나요?
    코딩 초보라서 질문도 어설프죠?
    죄송합니다
    보통 앱은 db를 어떤걸 사용하고
    파일 업로드는 어디에 하는지가 사실 궁금합니다

    • @with2511
      @with2511  4 месяца назад +1

      아 앱에서 DB를 직접 접속하지 않는 것이 좋구요. DB는 외부로 노출하지 않는 방식이 좋습니다. DB주소가 localhost인 이유는 DB를 설치한 곳에서 확인했을 가능성이 높네요. 자기 자신의 컴퓨터를 localhost로 지정하는 편입니다.
      이미지 파일은 별도 파일 서버에 저장하게 됩니다. DB서버에 이미지를 저장하지는 않습니다. DB 중에서 많이 사용하는 DB는 MySQL이라고 생각됩니다.

    • @user-vw5jz7by1k
      @user-vw5jz7by1k 4 месяца назад

      @@with2511 빠른 답변 감사합니다 좋은하루 되세요

  • @kkangchicken
    @kkangchicken 3 года назад

    너무 유익하네요. 혹시 현직자신가요??

    • @with2511
      @with2511  3 года назад

      현직자의 기준에 따라서 조금씩 다르겠지만, 네..^^