Jak schować kod

Odpowiedz Nowy wątek
2019-07-29 09:22

Rejestracja: 11 miesięcy temu

Ostatnio: 9 miesięcy temu

0

Witam,
Czy istnieje możliwość aby w jakiś sposób schować kod programu ponieważ wykorzystuje connect do bazy sql i w kodzie widnieją dane logowania do niej, a ludzie "dekompiluja" mój program i wchodzą do bazy?

Pozostało 580 znaków

2019-07-29 09:54

Rejestracja: 6 lat temu

Ostatnio: 3 dni temu

Lokalizacja: lubuskie

2019-07-29 10:07

Rejestracja: 16 lat temu

Ostatnio: 4 minuty temu

4
Maskak47 napisał(a):

ludzie "dekompiluja" mój program i wchodzą do bazy?

Ludź nie powinien być w stanie zrobić bezpośrednio w bazie czego nie wolno mu zrobić z poziomu programu, więc nie powinno być to zmartwieniem.
Również w idealnym przypadku ludź nie powinien mieć potrzeby grzebania w bazie – jeśli to robi to znaczy że jakiejś funkcjonalności w programie chyba brakuje…

Pozostało 580 znaków

2019-07-29 10:10
Moderator

Rejestracja: 12 lat temu

Ostatnio: 1 godzina temu

Lokalizacja: Wrocław

2

Niezależnie od tego, jak głęboko i jak dziwnie zaszyfrujesz te dane, w pewnym momencie muszą one i tak zostać odszyfrowane (np. aby przekazać je sterownikowi) - odnalezienie tego miejsca i odczytanie z pamięci odszyfrowanych już danych z wykorzystaniem debuggera jest kwestią kilku minut.

Nie powinieneś w ogóle łączyć się bezpośrednio z bazą danych - wystaw sobie normalne API z uwierzytelnianiem.


edytowany 2x, ostatnio: Patryk27, 2019-07-29 10:12

Pozostało 580 znaków

2019-07-29 10:10

Rejestracja: 11 miesięcy temu

Ostatnio: 9 miesięcy temu

0
Azarien napisał(a):
Maskak47 napisał(a):

ludzie "dekompiluja" mój program i wchodzą do bazy?

Ludź nie powinien być w stanie zrobić bezpośrednio w bazie czego nie wolno mu zrobić z poziomu programu, więc nie powinno być to zmartwieniem.
Również w idealnym przypadku ludź nie powinien mieć potrzeby grzebania w bazie – jeśli to robi to znaczy że jakiejś funkcjonalności w programie chyba brakuje…

mam baze z strony na ktorej kupilem hosting i nie mam praw zeby zminic uprawnienia ;)
a niestety mam tworzenie kont w aplikacji i niestety ktos mi sie wlamuje i usuwa konta itp

Bzdury. Na każdej bazie możesz tworzyć uprawnienia do tabel. - somedev 2019-07-29 10:13
@somedev: odważne stwierdzenie biorąc pod uwagę, że istnieją setki (jeśli nie tysiące) różnych relacyjnych baz danych. - Patryk27 2019-07-29 10:14
Uściślijmy - każdy hosting udostępniający bazy danych wspierające uprawniania umożliwia ustawienie uprawnień na takiej bazie. - somedev 2019-07-29 10:16

Pozostało 580 znaków

2019-07-29 10:12

Rejestracja: 2 lata temu

Ostatnio: 1 miesiąc temu

2

Program powinien pracować na użytkowniku bazodanowym o obniżonych uprawnieniach żeby właśnie nie można było wyciągać wszystkiego mając dostęp do hasła. Proponuję założyć takiego usera, nadawać granty na odpowiednie tabele, a jeśli chcemy coś ukryć to używajmy widoków i procedur i do nich zadawajmy uprawnienia. Ostatecznie możesz zrobić pośrednik między aplikacją a bazą w postaci proxy/api, które potrafi tylko stosowne dane zwracać, a to API będzie poza dostępem użytkowników.

Pozostało 580 znaków

2019-07-29 10:25

Rejestracja: 8 lat temu

Ostatnio: 3 minuty temu

2

Kasowanie kont mozesz zablokowac uzywajac uzytkownika o obnizonych uprawnieniach (j.w.)

Zmienianie nieswoich danych mozesz zablokowac usuwajac uprawnienie update i dajac w zamian SP lub modyfikowalny widok (jesli potrzeba w aplikacji). W tym SP mozesz sprawdzac czy uzytkownik modyfikuje swoje dane (najlepiej na podstawie kontekstu bazy a nie parametrow od uzytkownika).

Dodatkowo dodalbym tracing zeby sprawdzic czy na pewno to robi ktos specjalnie. Bo moze sie okazac ze po prostu masz babola w aplikacji.
Po prostu dodaj jakas flage ktora jesli jest aktywna powoduje odkladanie szczegolow kazdej operacji gdzies do logu.


Szacuje się, że w Polsce brakuje 50 tys. programistów

Pozostało 580 znaków

2019-07-29 10:31

Rejestracja: 11 miesięcy temu

Ostatnio: 9 miesięcy temu

0

az.pl i moge tylko stworzyc nowa baze z juz istniejacym uzytkownikiem i nie moge zmienic mu uprawnien ;/ wiec chyba pozostaje mi tylko zmiana bazy danych
Dziekuje wszystkim za pomoc

Pozostało 580 znaków

var
2019-07-29 10:55
var

Rejestracja: 2 lata temu

Ostatnio: 11 minut temu

Lokalizacja: Wrocław

1

Najrozsądniejszym rozwiązaniem będzie wystawienie API które obsłuży żądania dostępu do bazy zamiast wystawiania współdzielonej bazy każdemu klientowi

Pozostało 580 znaków

2019-07-29 11:04

Rejestracja: 11 miesięcy temu

Ostatnio: 9 miesięcy temu

0
var napisał(a):

Najrozsądniejszym rozwiązaniem będzie wystawienie API które obsłuży żądania dostępu do bazy zamiast wystawiania współdzielonej bazy każdemu klientowi

a moglbys mi podac jakis tutorial do tego jak by to mialo dzialac? ja zielony jestem troche ;/

Pozostało 580 znaków

var
2019-07-29 11:08
var

Rejestracja: 2 lata temu

Ostatnio: 11 minut temu

Lokalizacja: Wrocław

1

Powinieneś utworzyć web API do którego metod podepniesz aplikację kliencką. Klient nie będzie łączył się bezpośrednio z bazą a przez to właśnie API w którym możesz zaimplementować przeróżne metody autentykacji i autoryzacji.
Pozbędziesz się wtedy z aplikacji oddawanej klientowi tak danych tak wrażliwych jak connection stringi, rzeczywisty dostęp do danych będzie realizowany wyłącznie przez API

Pozostało 580 znaków

Odpowiedz

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

Robot: Bingbot