poniedziałek , 9 września 2024

Rozpoczęcie przygody z HTML – cz.9 (zaawansowany PHP)

Witaj w 9 części nauki!

Tym razem poruszymy temat zapobiegania Atakom i Rozwojem Funkcjonalności.

1. Przedstawienie Ataków i Zabezpieczenia

1: W świecie aplikacji internetowych, szczególnie tych wykorzystujących bazę danych, istnieje wiele potencjalnych zagrożeń, na które należy zwrócić uwagę. Poniżej przedstawiamy kilka popularnych ataków i sposoby, jak zabezpieczyć się przed nimi:

  • SQL Injection: Atakujący może wstrzyknąć złośliwy kod SQL do formularza logowania lub rejestracji, co może prowadzić do naruszenia bazy danych lub odczytu poufnych danych. Aby się przed tym zabezpieczyć, należy stosować parametryzowane zapytania SQL lub funkcje takie jak mysqli_real_escape_string().
  • Cross-Site Scripting (XSS): Atakujący wstrzykuje złośliwy skrypt JavaScript do strony internetowej, który może zostać wykonany przez przeglądarkę użytkownika. Aby zabezpieczyć się przed XSS, należy odpowiednio filtrować i escapować dane wejściowe oraz stosować nagłówki HTTP Content Security Policy (CSP).
  • Brute Force Attack: Atakujący próbuje uzyskać dostęp do konta poprzez wielokrotne próby zgadywania hasła. Aby zabezpieczyć się przed atakami typu brute force, należy wprowadzić mechanizmy blokowania konta po przekroczeniu określonej liczby nieudanych prób logowania.

2: Funkcja mysqli_real_escape_string w PHP służy do zabezpieczania danych przed atakami SQL Injection poprzez usuwanie znaków specjalnych, które mogłyby być interpretowane jako część zapytania SQL. Przyjmuje dwa argumenty: połączenie z bazą danych i ciąg znaków do zabezpieczenia. Funkcja ta zamienia znaki specjalne na sekwencje unikodowe, zapewniając bezpieczne użycie danych w zapytaniach SQL. Przykład użycia:
$escaped_input = mysqli_real_escape_string($conn, $user_input);
W tym przykładzie $user_input to dane wprowadzone przez użytkownika, a $escaped_input to te same dane po zabezpieczeniu funkcją mysqli_real_escape_string.

2. Zabezpieczanie Kodu Logowania

Poniżej przedstawiam zabezpieczony kod logowania z wykorzystaniem funkcji mysqli_real_escape_string():

https://github.com/lucjanmnm/klovy-3/tree/main/logowanie

3. Pełna Strona z Logowaniem, Rejestracją i Obszarem Dla Zalogowanych Użytkowników

Aby zapewnić kompletną funkcjonalność aplikacji, możemy stworzyć pełną stronę z logowaniem, rejestracją i obszarem dla zalogowanych użytkowników. Poniżej znajduje się kod HTML i PHP, który realizuje tę funkcjonalność:

https://github.com/lucjanmnm/klovy-3/tree/main/strona

4. Podsumowanie

W dzisiejszym artykule omówiliśmy kilka powszechnych ataków, z którymi można spotkać się przy tworzeniu aplikacji internetowych, oraz przedstawiliśmy sposoby ich zabezpieczenia. Kluczowe punkty to:

  • Zrozumienie potencjalnych zagrożeń, takich jak SQL Injection, XSS i Brute Force Attack.
  • Wykorzystanie odpowiednich mechanizmów zabezpieczających, takich jak funkcja mysqli_real_escape_string() w PHP.
  • Implementacja dodatkowych zabezpieczeń, aby zapewnić kompleksową ochronę aplikacji przed atakami.

Dzięki tym praktykom będziemy mogli budować bezpieczne i wydajne aplikacje internetowe, które chronią dane użytkowników i zapewniają wysoki poziom bezpieczeństwa. Pamiętajmy, że dbanie o bezpieczeństwo aplikacji to proces ciągły, który wymaga regularnej analizy i aktualizacji w miarę pojawiania się nowych zagrożeń.

5. Tym razem czas na was!

Napisz własną stronę w .php z logowaniem, rejestracją i stroną po zalogowaniu dodaj własną stylizację w CSS.
Stronę wrzuć na https://github.com/
a link wyślij jako odpowiedź do tego posta. Wszystkie prace przeglądnę 🙂

Pytania, czy ewentualne poprawki tak samo odsyłam do odpowiedzi w poście.

About Klovy

Założyciel serwisu klovy.pl. Moje zainteresowania to: informatyka, słuchanie muzyki (najbardziej typu: Disco Polo, Dance, Pop itp.), czy również sporty (zarówno letnie jak i zimowe). Lubię także pomagać wielu osobom, szczególnie w branży IT, stąd zamysł o platformie Klovy.

Check Also

Ataki Brute Force (Cloudflare) – jak skutecznie uchronić stronę?

Ataki typu Brute Force (siłowe) to jedne z najstarszych i najbardziej powszechnych metod stosowanych przez …

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *