Meteor는 어떤 보안 장치를 가지고 있나요?
Meteor가 miniMongo 드라이버를 제공하고 있다는 것은 누구나 알고 있습니다.이 드라이버는 클라이언트가 영속적인 레이어(MongoDB)에 심리스하게 액세스 할 수 있도록 합니다.
클라이언트가 영속 API에 액세스할 수 있는 경우 응용 프로그램을 보호하는 방법은 무엇입니까?
Meteor가 제공하는 보안 메커니즘은 무엇이며 어떤 맥락에서 사용해야 하는가?
meteor 명령을 사용하여 앱을 만들면 기본적으로 앱에 다음 패키지가 포함됩니다.
- 자동 게시
- 안전하지 않다
이러한 기능은 각 클라이언트가 서버의 데이터베이스에 대한 완전한 읽기/쓰기 액세스 권한을 갖는 것과 유사합니다.유용한 프로토타이핑 도구(개발 목적만 해당)이지만 일반적으로 프로덕션 애플리케이션에는 적합하지 않습니다.실가동 릴리스가 준비되면 이 패키지를 삭제해 주세요.
Meteor는 인증을 처리하기 위해 Facebook/Twitter/Moch More 패키지를 지원하며, 가장 쿨한 것은 Accounts-UI 패키지입니다.
컬렉션에서 Doc는 다음과 같이 말합니다.
현재 클라이언트는 컬렉션에 대한 전체 쓰기 액세스 권한이 있습니다.임의의 Mongo 업데이트명령어를 실행할 수 있습니다.인증을 구축하면 클라이언트의 직접 액세스를 삽입, 업데이트 및 삭제로 제한할 수 있습니다.검증기 및 기타 ORM과 유사한 기능도 고려하고 있습니다.
클라이언트가 허가되지 않은 삽입/업데이트/삭제 API를 사용하지 않도록 제한하는 것을 말하는 경우 가능합니다.
https://github.com/meteor/meteor/tree/171816005fa2e263ba54d08d596e5b94dea47b0d/examples/todos에서 작업관리 앱을 만나보십시오.
또한 로그인 및 등록을 할 수 있는 빌트인 AUTH 모듈이 추가되었습니다.그래서 안전하다.XSS, Valiations, 클라이언트 헤더 등을 관리하는 경우.
단, 노드에 전개함으로써 언제든지 Meteor 앱을 완전히 작동하는 nodejs 어플리케이션으로 변환할 수 있습니다.그래서 노즈 애플리케이션을 보호하는 방법을 알고 있다면 운석을 확보할 수 있을 겁니다.
0.6.4 현재 개발 모드 중에는 is_client 및 is_server 블록이 모두 클라이언트시스템으로 넘어갑니다개발 모드를 끄면 분리되는지 확인할 수 없습니다.
그러나 그렇지 않은 경우 해커는 if(Meteor.is_server) 코드 블록을 검토하여 시스템에서 통찰력을 얻을 수 있습니다.특히 현시점에서는 컬렉션을 클라이언트와 서버의 다른 파일로 분리할 수 없기 때문에 특히 신경이 쓰입니다.
갱신하다
여기서 중요한 것은 보안 관련 코드를 서버 디렉토리가 아닌 디렉토리의 is_server 블록에 넣지 않는 것입니다(즉, /server 아래에 있는지 확인합니다).
클라이언트 디렉토리와 서버 디렉토리에서 클라이언트와 서버 컬렉션을 분리할 수 없는 것에 대해 제가 미쳤는지 확인하고 싶었습니다.사실 여기에는 문제가 없습니다.
이게 제 시험이에요.이것은 정상적으로 동작하는 것처럼 보이는 게시/구독 모델의 간단한 예입니다.http://goo.gl/E1c56
언급URL : https://stackoverflow.com/questions/10099843/what-security-mechanisms-does-meteor-have
'programing' 카테고리의 다른 글
각도에서의 ScrollTo 함수JS (0) | 2023.02.15 |
---|---|
TypeError:scrollIntoView는 함수가 아닙니다. (0) | 2023.02.15 |
"오류: 리듀서 실행 중에는 store.getState()를 호출할 수 없습니다." (0) | 2023.02.15 |
작업 트리의 일부가 포함된 Git 사후 수신 후크 (0) | 2023.02.15 |
"알 수 없는 공급자" 오류의 원인 찾기 (0) | 2023.02.15 |