Meteor에는 어떤 보안 메커니즘이 있습니까? [닫은]
우리는 Meteor가 클라이언트가 지속적 계층 (MongoDB)에 원활하게 액세스 할 수 있도록하는 miniMongo 드라이버를 제공한다는 것을 알고 있습니다.
클라이언트가 영구 API에 액세스 할 수 있다면 애플리케이션을 어떻게 보호합니까?
Meteor가 제공하는 보안 메커니즘은 무엇이며 어떤 맥락에서 사용해야합니까?
meteor 명령을 사용하여 앱을 생성하면 기본적으로 앱에 다음 패키지가 포함됩니다.
- 자동 게시
- 불안정한
이러한 기능은 각 클라이언트가 서버 데이터베이스에 대한 전체 읽기 / 쓰기 액세스 권한을 갖는 효과를 모방합니다. 이들은 유용한 프로토 타이핑 도구 (개발 용으로 만 해당)이지만 일반적으로 프로덕션 애플리케이션에는 적합하지 않습니다. 프로덕션 릴리스 준비가되면 이러한 패키지를 제거하기 만하면됩니다.
더 추가하기 위해 Meteor는 Facebook / Twitter / 및 훨씬 더 많은 패키지를 지원하여 인증을 처리하며 가장 멋진 것은 Accounts-UI 패키지입니다.
에서 컬렉션 문서는 말합니다 :
현재 클라이언트에는 컬렉션에 대한 전체 쓰기 권한이 부여됩니다. 임의의 Mongo 업데이트 명령을 실행할 수 있습니다. 인증을 구축하면 클라이언트의 삽입, 업데이트 및 제거에 대한 직접 액세스를 제한 할 수 있습니다. 검증 인 및 기타 ORM과 유사한 기능도 고려하고 있습니다.
무단 삽입 / 업데이트 / 삭제 API를 사용하지 않도록 클라이언트를 제한하는 것에 대해 이야기하고 있다면 가능합니다.
https://github.com/meteor/meteor/tree/171816005fa2e263ba54d08d596e5b94dea47b0d/examples/todos 에서 할 일 앱을 참조하십시오.
또한 이제 로그인하고 등록 할 수있는 AUTH 모듈이 내장되어 있습니다. 그래서 안전합니다. XSS, 유효성 검사, 클라이언트 헤더 등을 처리하는 한
하지만 언제든지 node에 배포하여 meteor 앱을 완전히 작동하는 nodejs 애플리케이션으로 변환 할 수 있습니다. 따라서 nodejs 애플리케이션을 보호하는 방법을 알고 있다면 meteor를 보호 할 수 있어야합니다.
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
'IT박스' 카테고리의 다른 글
프로덕션 환경에서 스프링 부트 실행 가능 jar를 어떻게 실행합니까? (0) | 2020.09.04 |
---|---|
배열에서 clone ()을 호출해도 내용이 복제됩니까? (0) | 2020.09.04 |
std :: ssize ()가 C ++ 20에 도입 된 이유는 무엇입니까? (0) | 2020.09.04 |
MySQL 조건부 삽입 (0) | 2020.09.03 |
외래 키 참조 작업을 변경하는 방법은 무엇입니까? (0) | 2020.09.03 |