Bezpieczeństwo aplikacji webowej to temat, który często pojawia się dopiero po wdrożeniu - gdy ktoś zgubi hasło, wycieknie plik z danymi albo system stanie się niedostępny. W systemach biznesowych (ERP, CRM, panele wewnętrzne) w grę wchodzą dane klientów, zamówienia, ceny, umowy - warto więc ustalić minimum ochrony jeszcze na etapie projektu.

HTTPS i szyfrowanie transmisji

Każda aplikacja webowa powinna działać wyłącznie przez HTTPS. To podstawa: dane przesyłane między przeglądarką a serwerem są szyfrowane, co utrudnia przechwycenie haseł czy tokenów sesji w publicznej sieci. Certyfikat SSL to dziś standard, a nie dodatek premium.

Kontrola dostępu i role użytkowników

Nie każdy pracownik powinien widzieć wszystko. Sensowny system ma role i uprawnienia - np. handlowiec widzi swoich klientów, magazynier stany magazynowe, a administrator zarządza użytkownikami. Dostęp do wrażliwych operacji (usuwanie danych, eksport list, zmiana cen) powinien być ograniczony i logowany.

Bezpieczne logowanie

Minimum to:

  • hashowanie haseł (nigdy plain text w bazie),
  • ograniczenie liczby prób logowania,
  • sesje wygasające po okresie nieaktywności,
  • silne hasła lub - tam, gdzie to uzasadnione - uwierzytelnianie dwuskładnikowe.

Przy formularzach publicznych (kontakt, callback) warto stosować weryfikację antyspamową i limit zapytań z jednego adresu IP.

Ochrona przed typowymi atakami

Aplikacja powinna być zabezpieczona przed podstawowymi wektorami:

  • SQL injection - parametryzowane zapytania do bazy, bez składania SQL z inputu użytkownika,
  • XSS - filtrowanie i escapowanie danych wyświetlanych w interfejsie,
  • CSRF - tokeny przy operacjach zmieniających dane,
  • nadmierne zapytania - rate limiting na API i formularzach.

To nie lista „na wszelki wypadek”, tylko realne zagrożenia, które dotykają także mniejszych firm.

Kopie zapasowe i odzyskiwanie danych

System bez backupu to ryzyko operacyjne. Regularne kopie bazy danych, przechowywane poza głównym serwerem, pozwalają wrócić do działania po awarii sprzętu, błędzie wdrożenia albo przypadkowym usunięciu rekordów. Warto ustalić nie tylko czy backup istnieje, ale też jak często i jak szybko da się przywrócić dane.

RODO i przetwarzanie danych osobowych

Jeśli system przechowuje dane klientów, pracowników lub kontrahentów, trzeba uwzględnić wymogi RODO: informacja o administratorze danych, podstawa przetwarzania, możliwość usunięcia danych na żądanie, polityka prywatności. To obowiązek prawny, ale też element zaufania w relacji z klientami B2B.

Co warto pytać wykonawcę przed startem projektu?

  • Jak przechowywane są hasła i sesje?
  • Kto ma dostęp do serwera produkcyjnego i logów?
  • Jak wygląda procedura backupów?
  • Czy aplikacja jest testowana pod kątem typowych luk?

Bezpieczeństwo nie musi blokować rozwoju systemu. Dobrze zaprojektowana aplikacja webowa może być jednocześnie wygodna dla użytkowników i odporna na podstawowe zagrożenia - pod warunkiem, że od początku traktuje się je jako część architektury, a nie dodatek na koniec projektu.