Firebase는 개발자가 클라이언트 측 코드에 집중할 수 있도록 데이터베이스 백엔드를 제공합니다.
따라서 누군가 내 firebase uri (예 :)를 가져 오면 로컬에서https://firebaseinstance.firebaseio.com
개발 합니다 .
그러면 내 Firebase 인스턴스에서 다른 앱을 만들고 가입하고 자신을 인증하여 내 Firebase 앱의 모든 데이터를 읽을 수 있을까요?
답변:
@Frank van Puffelen,
피싱 공격에 대해 언급하셨습니다. 실제로 그것을 보호하는 방법이 있습니다.
googleAPIs API Manager 콘솔에 로그인하면 앱에서 요청을 수락 할 HTTP 리퍼러를 잠글 수있는 옵션이 있습니다.
이렇게하면 허용 된 도메인에서만 앱을 사용할 수 있습니다.
https://firebase.google.com/support/guides/launch-checklist 의 firebase 시작 체크리스트에도 설명되어 있습니다.
아마도 firebase 문서는 이것을 더 잘 보이게 만들거나 기본적으로 도메인을 자동으로 잠그고 사용자가 액세스를 허용하도록 요구할 수 있습니까?
누군가가 귀하의 URL을 알고 있다는 사실은 보안 위험이 아닙니다.
예 : 제 은행이 bankofamerica.com에서 웹 사이트를 호스팅하고 HTTP 프로토콜을 사용한다고 말하는 데 아무런 문제가 없습니다. 내가 해당 사이트에 액세스하는 데 사용하는 자격 증명을 모르는 경우 URL을 아는 것은 아무런 소용이 없습니다.
데이터를 보호하려면 다음과 같이 데이터베이스를 보호해야합니다.
이 모든 내용 은 보안 및 규칙 에 대한 Firebase 문서에서 다룹니다 .
이러한 보안 규칙을 적용하면 다른 사람의 앱이 데이터베이스의 데이터에 액세스 할 수있는 유일한 방법은 사용자가 애플리케이션의 기능을 복사하고 사용자가 자신의 앱에 로그인 한 후 로그인 / 읽기 / 쓰기하는 것입니다. 귀하의 데이터베이스 본질적으로 피싱 공격입니다. 이 경우 데이터베이스에 보안 문제가 없지만 일부 권한이 관련 될 시간 일 것입니다.
https://tinderclone.firebaseio.com/
및 https://tinderclone.firebaseio.com/profiles.json
. 그들은 실제 firebase 데이터베이스입니다. 앱을 개발하여 이메일로 가입 양식과 로그인 양식을 만들 수 있습니까? 내 앱을 사용하면 누구나 이메일로 등록 할 수 있으므로 등록한 후에 모든 데이터를 읽을 수 있습니까? 나중에 다른 질문을하겠습니다. 감사합니다
".read": false
하면 누구도 데이터를 볼 수 없습니다. 그보다 더 많은 것을 허용하고 싶을 수도 있지만 모두 사용 사례에 따라 다릅니다. 데이터 보안은 보안 및 규칙 에 대한 Firebase 문서에서 다룹니다 .
도메인 이름이 적용되지 않는 모바일 앱의 인증 허용 목록과 관련하여 Firebase는
1) SHA1 fingerprint
에 대한이 안드로이드 앱 과
2) App Store ID and Bundle ID and Team ID (if necessary)
당신을위한 iOS 앱
Firebase 콘솔에서 구성해야합니다.
이 보호 기능 검증이되지 않기 때문에, 누군가가 등 유효한 API 키 인증 도메인을 가지고 만있는 경우뿐만 아니라, 그것은 우리의 권한이 애플 리케이션에서 오는 것입니다 domain name/HTTP referrer in case
의 웹 .
이러한 API 키 및 기타 연결 매개 변수가 다른 사용자에게 노출 되어도 걱정할 필요가 없다고 말했습니다.
자세한 내용은 https://firebase.google.com/support/guides/launch-checklist를 참조하세요.