logo
  • Egzaminy
  • Quizy
  • Gry
  • Blog
  • Pytania
  • Kursy
  • Korepetycje
logo Mobile
logo Mobile
Logo sienaucze.pl

Rozwijaj swoje umiejętności z nami – odkryj kursy, materiały edukacyjne i wspierającą społeczność.

Platforma

Kursy
Baza pytań
Korepetycje
Narzędzia

Egzaminy

Prawo jazdy kategoria D
Prawo jazdy kategoria B1
Prawo jazdy kategoria C1
Technik informatyk INF.02

O nas

Nasz zespół
Blog
Kontakt

Wsparcie i Zasady

FAQ
Dokumentacja
Regulamin
Polityka prywatności
Logo sienaucze.pl

Rozwijaj swoje umiejętności z nami – odkryj kursy, materiały edukacyjne i wspierającą społeczność.

Platforma

KursyBaza pytańKorepetycjeNarzędzia

Egzaminy

Prawo jazdy kategoria DPrawo jazdy kategoria B1Prawo jazdy kategoria C1Technik informatyk INF.02

O nas

Nasz zespółBlogKontakt

Wsparcie i Zasady

FAQDokumentacjaRegulaminPolityka prywatności

© 2025 sienaucze.pl. Wszelkie prawa zastrzeżone. Strona zrealizowana przez Wiktor Józwiak oraz Błażej Walkowiak

InstagramFacebookYouTube
INF.03: Logowanie i Sesje w PHP. Jak to zrobić bezpiecznie na egzaminie? | Najlepsza platforma do nauki online
BlogPoradniki Techniczne

INF.03: Logowanie i Sesje w PHP. Jak to zrobić bezpiecznie na egzaminie?

J
Julia Majewska
1 czerwca 2025·2 min czytania
INF.03: Logowanie i Sesje w PHP. Jak to zrobić bezpiecznie na egzaminie?
INF.03: Logowanie i Sesje w PHP. Jak to zrobić bezpiecznie na egzaminie?

🔐 Logowanie w PHP - Absolutne Podstawy

Na egzaminie INF.03 zadanie z logowaniem składa się z 3 części:

  1. Formularz logowania (HTML).
  2. Skrypt weryfikujący login/hasło (PHP + MySQL).
  3. Zabezpieczenie dostępu do innej strony (Sesje).

1. session_start() - Złota Zasada

Funkcja session_start(); musi być PIERWSZĄ linijką kodu w pliku PHP. Przed nią nie może być żadnego HTML-a, ani nawet spacji.

<?php
session_start();
// Teraz można bezpiecznie korzystać z $_SESSION
?>
<!DOCTYPE html>...

2. Skrypt logowania (login.php)

Załóżmy, że mamy bazę użytkowników.

require('db.php'); // Połączenie z bazą
 
if (isset($_POST['login']) && isset($_POST['haslo'])) {
    $login = $_POST['login'];
    $haslo =




















...
...
...
TwitterFacebook
inf.03phpsesjecookiesbezpieczeństwo
Poprzedni post

INF.03: JavaScript na egzaminie. Walidacja formularzy i manipulacja DOM

Następny post

Jak pociąć grafikę na INF.03? Flexbox i Grid w 15 minut.

Ładowanie komentarzy...

Spis treści

Spis treści

Brak nagłówków w tym artykule.

Spis treści

Brak nagłówków w tym artykule.

Informacje

AutorJulia Majewska
Data1 czerwca 2025
Czas5 min
KategoriaPoradniki Techniczne

Tagi

#inf.03#php#sesje#cookies#bezpieczeństwo

Czytaj dalej

Powiązane artykuły

Zobacz wszystkie
INF.02: Adresacja IP, maski i podsieci - Poradnik dla opornych
Poradniki Techniczne

INF.02: Adresacja IP, maski i podsieci - Poradnik dla opornych

Oktety, binarki, CIDR... Brzmi strasznie? Wytłumaczę Ci adresację IP tak prosto, że policzysz podsieci w pamięci. Obowiązkowe na INF.02.

Wiktor Józwiak15 maj 2025
INF.02: Linux na 100%. Komendy, użytkownicy i uprawnienia - Mega Poradnik
Poradniki Techniczne

INF.02: Linux na 100%. Komendy, użytkownicy i uprawnienia - Mega Poradnik

Boisz się konsoli? Niepotrzebnie. Opanuj zarządzanie użytkownikami, grupami i uprawnieniami (chmod/chown) w Linuxie. To pewne punkty na egzaminie INF.02.

Julia Majewska10 maj 2025
INF.02: Diagnostyka i montaż komputera. Co musisz wiedzieć?
Poradniki Techniczne

INF.02: Diagnostyka i montaż komputera. Co musisz wiedzieć?

Śrubokręt w dłoń! Procedura montażu, kody błędów POST i BHP w pracowni. Zobacz, jak nie spalić płyty głównej na egzaminie.

Julia Majewska20 maj 2025
Windows Server na INF.02: Active Directory, GPO i Użytkownicy. Poradnik Krok po Kroku.
Poradniki Techniczne

Windows Server na INF.02: Active Directory, GPO i Użytkownicy. Poradnik Krok po Kroku.

Active Directory to zmora wielu zdających. Zobacz, jak promować serwer do kontrolera domeny, tworzyć użytkowników i zarządzać politykami GPO. Gotowe solucje.

Wiktor Józwiak3 cze 2025
$_POST[
'haslo'
];
// Pamiętaj o prostej ochronie przed SQL Injection na egzaminie to plus
// $login = mysqli_real_escape_string($conn, $login);
$sql = "SELECT * FROM uzytkownicy WHERE login='$login'";
// UWAGA: Na egzaminie hasła często są trzymane jawnym tekstem (niestety),
// ale profesjonalnie używamy password_verify(). Tutaj wersja "egzaminacyjna":
$result = mysqli_query($conn, $sql);
if ($row = mysqli_fetch_array($result)) {
if ($haslo == $row['haslo']) { // Porównanie haseł
$_SESSION['user'] = $login; // Zapisanie usera w sesji
header("Location: panel.php"); // Przekierowanie
} else {
echo "Błędne hasło!";
}
} else {
echo "Nie ma takiego użytkownika!";
}
}

Zadanie: Logowanie

Napisz skrypt, który po wpisaniu loginu "admin" i hasła "tajne" utworzy zmienną sesyjną $_SESSION['zalogowany'] = true;. Nie musisz łączyć się z bazą, zrób to na sztywno (if $login == "admin"...).

3. Ochrona panelu (panel.php)

To jest kluczowe. Nawet jak ktoś wpisze adres panel.php w pasek adresu, nie powinien wejść bez logowania.

<?php
session_start();
 
if (!isset($_SESSION['user'])) {
    header("Location: index.php"); // Wyrzuć do logowania
    exit(); // Zatrzymaj wykonywanie reszty skryptu!
}
?>
<h1>Witaj w panelu, <?php echo $_SESSION['user']; ?>!</h1>
<a href="logout.php">Wyloguj</a>

4. Wylogowanie (logout.php)

Czyste i proste.

<?php
session_start();
session_unset();
session_destroy();
header("Location: index.php");
?>

Ciasteczka (Cookies)

Czasem zadanie wymaga zapisania, czy użytkownik już odwiedził stronę. setcookie(nazwa, wartość, czas_zycia, sciezka);

Przykład: Ciasteczko na 1 godzinę.

setcookie("odwiedziny", "tak", time() + 3600, "/");

Odczyt:

if (isset($_COOKIE['odwiedziny'])) {
    echo "Witaj ponownie!";
} else {
    echo "Witaj po raz pierwszy!";
}
📝

Zadania z logowania

W naszym symulatorze przećwiczysz logikę sesji i ciasteczek. Nie daj się zaskoczyć na egzaminie.

Zadania PHP

Podsumowanie

Zapomnienie o session_start() to najczęstszy błąd. Drugi to brak exit() po header(). Pamiętaj o tym, a sesje staną się proste.