• 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
65 wizyt
pytanie zadane 30 stycznia w C# i .NET przez Anon LVL 1000 Początkujący (300 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,160 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 Początkujący (300 p.)
Dziękuję
–2 głosów
odpowiedź 1 lutego przez Zero Dyskutant (8,080 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ź 127 wizyt
0 głosów
1 odpowiedź 179 wizyt
0 głosów
0 odpowiedzi 237 wizyt
Porady nie od parady
Możesz ukryć, zamknąć lub zmodyfikować swoje pytanie, za pomocą przycisków znajdujących się pod nim. Nie krępuj się poprawić pochopnie opublikowanego pytania czy zamknąć go po uzyskaniu satysfakcjonującej odpowiedzi. Umożliwi to zachowanie porządku na forum.Przyciski pytania

62,320 zapytań

108,455 odpowiedzi

226,407 komentarzy

35,124 pasjonatów

Przeglądających: 249
Pasjonatów: 7 Gości: 242

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.

...