Temat: Jak ukryć dane dostępu do bazy Oracle w chmurze

0

Cześć,
problem wygląda następująco, ostatnio zacząłem dla siebie tworzyć aplikację w której zaimplementowałem system logowania, dane zarejestrowanych użytkowników zapisuję w chmurze Oracle, więc w osobnym pliku zaimplementowałem połączenie z bazą, ale niestety w tym pliku podaje login oraz hasło do mojej bazy, w przyszłości chciałbym wysłać ten projekt do innych osób więc chciałbym ukryć te dane aby nikt ich nie mógł zobaczyć. Na innym forum znalazłem informację aby zdefiniować u siebie zmienne środowiskowe, które będą zawierały hasło i login ale nie jestem w stanie sobie wyobrazić jak by to miało działać, że ktoś widzi moje zmienne środowiskowe podczas uruchamiania aplikacji na swoim komputerze. Szukając dalej informacji natrafiłem na propozycje dodania pliku z wrażliwymi danymi do pliku .gitignore na gicie, ale w takim przypadku jeżeli ktoś pobierze moje repozytorium nie będzie mógł się zalogować ponieważ nie będzie miał dostępu do bazy danych. Bardzo prosiłbym o informację jak ukryć moje dane, ale w taki sposób aby ktoś kto dostanie ode mnie lub pobierze kod z repozytorium mógł w pełni skorzystać z aplikacji.
Tak wygląda plik .py w którym nawiązuje połączenie z bazą i zależy mi aby nie znajdowały się w nim jawnie zakodowane login i haslo.

import cx_Oracle
cx_Oracle.init_oracle_client(lib_dir=r'..\instantclient_19_10')
connection = cx_Oracle.connect(user='login', password='haslo', dsn='dsn_id')
cursor = connection.cursor()

Z góry dziękuję za wszelkie informacje i pomoc.

1

Czytaj te dane z jakiegoś pliku konfiguracyjnego i nie wysyłaj tego pliku publicznie... Albo czytaj te dane od użytkownika...

0

Chmury z reguły powstają usługi do serwowania tego typu danych .

3

takie przypadki ogarnia się na trzy sposoby:

  1. user stawia swoją bazę i Ciebie nie interesuje gdzie ona jest (ale ty też nie masz do niej dostępu)
  2. stawiasz jakiś middleware do którego łączy się Twój soft a on się łączy do bazy. Połączenie do middleware autoryzujesz na podstawie danych usera a te każdy ma swoje
  3. piszesz soft jako stronę www - wtedy wszystko masz na serwerze a user widzi jedynie efekt końcowy bez dostępu do źródeł

1 użytkowników online, w tym zalogowanych: 0, gości: 1