• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

MySQL Connector/NET, czy da się zabezpieczyć zapytanie do bazy MySQL przed zmianą po dekompilacji kodu?

0 głosów
56 wizyt
pytanie zadane 30 stycznia w C# i .NET przez Anon LVL 1000 Nowicjusz (170 p.)
Witam! Otóż moje pytanie polega na tym, czy jest jakakolwiek możliwość zabezpieczenia kodu C# przed dekompilacją by nie było można się dostać do ważnych danych w nim znajdujących?
Dokładnie chodzi mi o to, czy istnieje jakiś sposób by zabezpieczyć zapytanie kierowane do bazy MySQL przed dekompilacją kodu przykładem w programie dotPeek, DnSpy, IlSpy etc.? Wiem iż jest takie coś jak obfuskacja kodu i są do tego przeznaczone programy, jednak każde takie zaciemianie kodu można złamać odpowiednimi metodami. Rozumiem, że nie trzeba kierować zapytań bezpośrednio do serwera, tylko robić to pośrednio przez PHP w zapytaniu w stronę konkretnego skryptu poprzez GET'a/POST'a, a on zwróci wynik. Jednak nie jestem do tego przekonany tak samo, ponieważ tak samo można podejrzeć takowe zapytanie na czym polega w procesie dekompilacji. Najbardziej się boję w takowym połączeniu z bazą danych o swoje dane w ogóle do jej zalogowania, ponieważ takie by były w dekompilacji podane jak na tacy. Boję się używać takowych metod, ponieważ każdą z nich można złamać i dostać się do pożądanych danych. Jeżeli ktoś zna na to rozwiązanie proszę o odpowiedź z wytłumaczeniem! Jeżeli napisałem wyżej spaghetti to przepraszam :P

2 odpowiedzi

+1 głos
odpowiedź 1 lutego przez MikDal Mądrala (5,000 p.)
wybrane 1 lutego przez Anon LVL 1000
 
Najlepsza

Wszystko co dasz w kodzie, skompilujesz (w szczególności w językach takich jak C#/Java – czyli działających na dodatkowych maszynach interpretujących) będzie względnie łatwe do odczytania przez dekompilację – nie ominiesz tego. Nawet w językach kompilowanych do assemblera idzie dostać się do takich rzeczy – to jest właśnie sposób w jaki działa piractwo komputerowe (cracki do programów).

Najbezpieczniejszą metodą jest nie dawać w ogóle wrażliwego kodu użytkownikowi końcowemu – w tym przypadku właśnie przez serwer pośredniczący. Wydaje mi się, że nie najlepiej rozumiesz idee tego serwera.

Dłuższe wyjaśnienie masz na przykład tutaj: https://devszczepaniak.pl/wstep-do-rest-api/.

Rzecz, która powinna Cię zainteresować to REST API – taki typ strony internetowej, który nie daje Ci bezpośredniego dostępu do bazy (także odpada możliwość podejrzenia danych logowania do niej), ale pozwala Ci nie tylko uzyskać dostęp do danych ale również pozwala Ci zweryfikować, czy dany użytkownik powinien mieć dostęp do akurat tej części systemu.

komentarz 1 lutego przez Anon LVL 1000 Nowicjusz (170 p.)
Dziękuję
–1 głos
odpowiedź 1 lutego przez Zero Dyskutant (7,820 p.)
edycja 1 lutego przez Zero
Nie wiem w jaki sposób odwołujesz się w kodzie do bazy danych.
Czy przez zapytanie np "Select * from Table;" czy może przez wykonanie procedury "Exec My_Procedure"
Jeśli stworzyłeś w bazie danych procedurę i używasz jej w kodzie programu to po dekompilacji w kodzie będzie widac tylko nazwę procedury ewentualnie jej parametry.

Przepraszam, chodzi o ukrycie connection string, nie zrozumiałem problemu.

Podobne pytania

0 głosów
1 odpowiedź 126 wizyt
0 głosów
1 odpowiedź 177 wizyt
0 głosów
0 odpowiedzi 222 wizyt
Porady nie od parady
Forum posiada swój własny chat IRC, dzięki któremu będziesz mógł po prostu pogadać z innymi Pasjonatami lub zapytać o jakiś problem. Podstrona z chatem znajduje się w menu pod ikoną człowieka w dymku.IRC

60,244 zapytań

105,928 odpowiedzi

220,065 komentarzy

32,445 pasjonatów

Przeglądających: 159
Pasjonatów: 3 Gości: 156

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...