Trzymanie haseł do bazy

0

Witam.
W jaki sposób bezpiecznie jest przechowywać hasła do bazy na stronie? Kodowanie jakoś? Ale haker jak się dostanie na serwer będzie znać skrypt i tak odkoduje. Jak to się robi?? :)]

//pozdrawiam pinokio999

0

To znam. Ale samo hasło do połączenia z bazą.

0

nie trzyma sie hasel do bazy w html'u.

0

Nie ma dobrzego sposobu, żeby się przed tym zabezpieczyć na 100%. Możesz jednak skorzystać z mechanizmy uprawnień - stworzyć użytkownika 'aplikacja', który będzie miał uprawnienia na odczyt tylko tych tabel, które potrzebuje; nie będzie miał uprawnień na DROP, ani show tables.

Tak naprawdę jednak sprowadza się to do ograniczania zniszczeń w przypadku włamu.

W przypadku wyjątkowo wrażliwych danych jak na przykład dane kart kredytowych zdarzyło się nam zastosować szyfrowanie kluczem publicznym, a admin przy próbie wywietlenia wgrywał kucz prywatny, który był używany przy rozkodowywaniu (nie był nigdzie zapisywany). Oznaczało to oczywiście pewną niewygodę w użytkowania...

0

Jeśli jesteś z kolei pewien co do bezpieczeństwa samej bazy danych można też przerzucić większość mechanizmów autoryzacji właśnie tam.
Tzn:

  • tworzysz w bazie danych odpowiednie procedury dostępu i manipulowania danymi. Każda z nich pobiera jako dodatkowy parametr dane potrzebne do autoryzacji użytkownika aplikacji. np:
    create table AppUsers(userID serial, passwd binary(20))type InnoDB;
    create table Comments(userID bigint unsigned references AppUsers(userID),timeSt timestamp default current_timestamp,body text not null, primary key(userID,timeSt))type InnoDB;
    create procedure AddComent(pUserID bigint unsigned, pPasswd binary(20), pBody text)modifies sql data
    begin
    insert into Comments(userID,body)values(pUserID,pBody)where exists(select*from AppUsers where(userID=pUserID)&&(passwd=pPasswd));
    end;
    create user appUser identified by 'noPassword';
    grant select on Comments for appUser;
    grant execute on AddComent for appUser;
  • robisz użytkownika bazy danych praktycznie bez uprawnień (ale może być również bez hasła), jedynie z dostępem do stworzonych w tym celu procedur (w poprzednim punkcie).

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