sql >> Databáze >  >> NoSQL >> MongoDB

Mám přistupovat přímo k mongodb?

Vy určitě nechcete své servery MongoDB vystavit přímo aplikaci pro Android, zejména pokud bude mít aplikace uživatelskou roli umožňující zápis do databáze. Kdokoli s přístupem k aplikaci pro Android by mohl tyto přihlašovací údaje potenciálně objevit a extrahovat, a pokud je vaše aplikace pro Android navržena pro připojení z širší sítě, zbytečně to odhaluje váš server MongoDB. Možná také otevíráte svůj server MongoDB možným útokům typu denial-of-service nebo nečestným dotazům.

Dokumentace MongoDB obsahuje podrobnou část o Koncepcích zabezpečení včetně vystavení a zabezpečení sítě. Nejlepším postupem pro jakékoli nasazení databáze je omezit rozsah síťových adres, které se mohou připojit přímo. Obecně by přímá připojení měla být omezena na vaše aplikační servery a monitorovací aplikace, které jsou pravděpodobně hostovány v rámci stejné síťové infrastruktury.

Ano, doporučeným přístupem by bylo napsat své vlastní rozhraní, které poskytuje vhodné rozhraní API a kontroly ověřování. Měli byste být schopni najít PHP framework a/nebo knihovny, abyste minimalizovali množství vlastního kódu, který musíte napsat (např. REST, JSON, Oauth).

Rozhraní, které implementujete, může:

  • uveďte určitá omezení na typ dotazů, které mohou koncoví uživatelé spouštět (pouze to, co poskytnete, nikoli úplné rozhraní MongoDB API)
  • umožněte aplikaci ověřit pomocí příslušných uživatelských oprávnění aniž byste měli přihlašovací údaje k databázi vložené do aplikace pro Android
  • přidat další uživatelské zabezpečení, jako je například OAuth na základě tokenů nebo ověřování na Twitteru/Facebooku
  • Abstrakce koncového bodu, ke kterému se aplikace pro Android připojuje (vaše webové rozhraní), z podrobností infrastruktury vašeho nasazení MongoDB
  • potenciálně zahrnovat ukládání do mezipaměti pro běžné dotazy nebo data relací


  1. Redisson, pracovní fronta / dequeu. Strategie pro zpracování zprávy / prvek pro neúplné zpracování zpráv při vypnutí systému / pod

  2. resque-scheduler selže při odebrání úlohy

  3. Ujistěte se, že index nefunguje - MongoDB

  4. takže vaše HBase je rozbitá