Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 31.08.2011 Ostrzeżenie: (0%)
|
Witam,
posiadam utworzoną bazę danych : załóżmy że są tam tabele Pracownik(idpracownik, imie, nazwisko), oraz Zlecenie(idzlecenie, idpracownik, opis). Stworzyłem program, z którego będzie korzystało wiele osób - umożliwia on dodawanie rekordów do tabel, edytowanie i usuwanie. Zawiera on moduł logowania, w którym wpisuje się identyfikator pracownika - na jego podstawie pobierane są rekordy z bazy danych - w ten sposób użytkownik pracuje wyłącznie na rekordach dla niego przeznaczonych. Problemem jest zabezpieczenie bazy danych - do połączenia z bazą danych wykorzystywane jest konto "roota". Zastanawiam się nad stworzeniem użytkownika z uprawnieniami select, insert, update, oraz delete dla wybranej bazy danych - będzie to o wiele bezpieczniejsze (IMG:style_emoticons/default/smile.gif) Rodzi się kolejny problem - ponieważ w ten sposób, ktoś kto chciałby namieszać w bazie danych, mógłby nie korzystać ze stworzonego przeze mnie programu, ale bezpośrednio zalogować się do PhpMyAdmin. W ten sposób zobaczy on nie tylko swoje rekordy, ale wszystkie rekordy z tabel do których ma uprawnienia. Jak w takim razie nadać uprawnienia użytkownikowi np. "user", aby miał dostęp do tabeli Pracownicy ale tylko rekordu, którego id = 1, oraz tabeli Zlecenia ale tylko rekordów gdzie idpracownik = 1. Tabele są ze sobą powiązane tzn. pracownik może mieć wiele zleceń, ale zlecenie należy do 1 pracownika (stąd klucz obcy idpracownik w tabeli Zlecenia). Chodzi mi o to, że nawet jak ten user zaloguje się do phpmyadmin to będzie mógł robić tylko to samo co w moim programie - czyli przeglądać tabele z rekordami, których id = 1. ------------------- Może jeszcze raz napiszę o co mi chodzi .... W bazie danych posiadam tabelę "Zlecenia" z kolumnami "idzlecenie, idpracownik, opis". Tabela Zlecenie zawiera 5 rekordów : id_zlecenie, id_pracownik, opis 1 1 aaaa 2 1 vvvv 3 2 dddd 4 3 ssss 5 1 cccc W programie mam ustawione, że logując się na użytkownika o identyfikatorze 1 z bazy danych są pobierane rekordy z tabeli "Zlecenia" gdzie id_pracownik = 1 (to jest łatwe do zrobienia). Jednak do połączenia z bazą danych wykorzystywane jest konto z uprawnieniami, które pozwala przeglądać wszystkie rekordy w tabelach - czyli ktoś logując się na PhpMyAdmin zobaczy rekordy należące do pracownika z id =2, oraz z id=3 i może coś pomieszać. Czy można to jakoś zabezpieczyć ? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Cytat ale bezpośrednio zalogować się do PhpMyAdmin. No ale jak ktoś się loguje do twojej aplikacji to ni w ząb nie ma dostępu do phpmyadmin.... przecież to dwie rożne rzeczy.
|
|
|
|
przemek89k Nadanie uprawnień na rekordy - MYSQL 13.06.2012, 14:51:10
przemek89k Tylko, że program korzysta z bazy danych mysql zew... 13.06.2012, 15:45:48
nospor No ale skoro użytkownik sam podaje dane do bazy i ... 13.06.2012, 16:06:28
przemek89k Tylko, że użytkownik ma dostęp do bazy za pomocą p... 13.06.2012, 17:59:59
nospor CytatA gdy teraz on zaloguje się na konto phpmyadm... 13.06.2012, 18:02:46
przemek89k CytatPrzecież to on ci podaje dane do bazy więc on... 14.06.2012, 08:22:56
nospor Coś motasz.... najpierw piszesz ze to user sam wpr... 14.06.2012, 08:43:28
przemek89k CytatCoś motasz.... najpierw piszesz ze to user sa... 14.06.2012, 09:28:26
trafas To może zrób sobie swoją tabelę z userami w ... 14.06.2012, 09:37:53
nospor CytatOczywiście mółbym login i hasło do bazy zaszy... 14.06.2012, 09:38:32
bpskiba Mam wrażenie, że przemkowi chodzi o szerszy temat ... 14.06.2012, 15:48:53
Crozin Nie, nie trzyma się danych w postaci zaszyfrowanej... 14.06.2012, 16:41:50 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 23:18 |