Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 1 maja 2026 09:24
  • Data zakończenia: 1 maja 2026 09:34

Egzamin zdany!

Wynik: 35/40 punktów (87,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Testy aplikacji webowej, których celem jest ocena wydajności aplikacji oraz bazy danych, a także architektury serwera i konfiguracji, określane są mianem testów

A. bezpieczeństwa
B. użyteczności
C. kompatybilności
D. funkcjonalności
Testy kompatybilności są kluczowym elementem w procesie zapewniania jakości aplikacji internetowych. Ich głównym celem jest weryfikacja, czy aplikacja działa poprawnie w różnych środowiskach, systemach operacyjnych oraz przeglądarkach internetowych. Testy te obejmują również analizę skalowalności, która ma na celu ocenić, jak aplikacja radzi sobie z rosnącą liczbą użytkowników oraz jak skutecznie współpracuje z bazami danych i serwerami. W praktyce oznacza to, że po przeprowadzeniu testów kompatybilności, można zidentyfikować potencjalne problemy z wydajnością, które mogą wystąpić w momencie, gdy liczba równoległych użytkowników wzrasta. Przykładem mogą być testy obciążeniowe, które symulują dużą liczbę użytkowników, by sprawdzić, w jaki sposób system reaguje na taką sytuację. W kontekście standardów, ważne jest odniesienie do norm ISO/IEC 25010, które definiują jakość oprogramowania i wskazują na znaczenie kompatybilności jako jednego z kluczowych atrybutów. Dbałość o kompatybilność aplikacji wpływa nie tylko na jej funkcjonalność, ale również na doświadczenia użytkowników, co jest niezbędne w dzisiejszym zglobalizowanym rynku.

Pytanie 2

Delegacja domeny to

A. zmiana nazwy domeny.
B. umieszczenie informacji o zewnętrznych serwerach, które obsługują stronę.
C. zmiana rejestratora domeny.
D. utrata okresu ważności domeny z możliwością odnowienia jej.
Prawidłowo – delegacja domeny to właśnie umieszczenie informacji o zewnętrznych serwerach nazw (DNS), które obsługują daną domenę. W praktyce oznacza to, że w panelu rejestratora domeny wskazujesz adresy serwerów DNS (np. ns1.hosting.pl, ns2.hosting.pl), a od tego momentu to one odpowiadają za tłumaczenie nazwy domeny na adresy IP serwerów WWW, poczty itd. Moim zdaniem to jedno z kluczowych pojęć w administracji usługami internetowymi, bo bez poprawnej delegacji domena „nie istnieje” w praktycznym użyciu. Delegacja nie zmienia samej nazwy domeny, nie przenosi jej do innego rejestratora, tylko mówi światu: „tej domeny szukaj na tych konkretnych serwerach DNS”. W dobrych praktykach branżowych używa się co najmniej dwóch serwerów DNS, najlepiej w różnych lokalizacjach, żeby zwiększyć niezawodność. W panelu hostingodawcy zwykle konfigurujesz rekordy DNS (A, AAAA, CNAME, MX, TXT itd.), a w panelu rejestratora tylko delegujesz domenę na te serwery. Przykład z życia: kupujesz domenę w firmie A, a hosting masz w firmie B. Wtedy w firmie A ustawiasz delegację na serwery DNS firmy B. Dzięki temu ruch do Twojej domeny trafia na właściwy serwer WWW. W dużych projektach często deleguje się domenę na profesjonalne usługi DNS (np. Cloudflare), żeby zyskać dodatkowe funkcje jak CDN, ochrona przed DDoS czy łatwe zarządzanie rekordami. To wszystko dalej opiera się na tym samym mechanizmie – poprawnej delegacji domeny w rejestrze.

Pytanie 3

W której superglobalnej tablicy w PHP należy przechowywać informacje dotyczące logowania użytkownika w sposób gwarantujący ich bezpieczeństwo?

A. $_SERVER
B. $_FILES
C. $_SESSION
D. $_COOKIE
Odpowiedź $_SESSION jest spoko, bo ta superglobalna tablica jest stworzona do trzymania danych związanych z sesjami, co jest mega ważne przy logowaniu. Fajna rzecz w $_SESSION jest taka, że informacje w niej są dostępne tylko podczas, gdy sesja jest aktywna, co poprawia bezpieczeństwo i chroni przed kradzieżą ciasteczek. Używając $_SESSION, można śmiało przechowywać dane logowania, jak ID użytkownika czy jego uprawnienia. Na przykład można użyć $_SESSION do zapamiętania, czy użytkownik jest zalogowany, co pomaga w kontrolowaniu dostępu do różnych części aplikacji. I według mnie, po zakończeniu sesji dobrze jest wyczyścić te dane, bo to dodatkowo zabezpiecza aplikację przed niechcianym dostępem. Ogólnie, korzystając z $_SESSION, programiści mogą się skupić na logice aplikacji, wiedząc, że dane są zarządzane w miarę bezpiecznie.

Pytanie 4

Jaką metodę przesyłania należy wykorzystać, by zapewnić największe bezpieczeństwo danych zaszyfrowanych w formularzu, które są wysyłane do kodu PHP?

A. Metoda GET, za pomocą protokołu HTTPS
B. Metoda POST, za pomocą protokołu HTTP
C. Metoda POST, za pomocą protokołu HTTPS
D. Metoda GET, za pomocą protokołu HTTP
Jak wiemy, wybieranie metody POST przy użyciu HTTPS to naprawdę najlepszy sposób na przesyłanie wrażliwych danych. Dlaczego? Bo metoda POST przesyła dane w ciele żądania, więc są one mniej widoczne dla niepowołanych osób. W przeciwieństwie do metody GET, która wrzuca wszystko do adresu URL. A protokół HTTPS to już zupełnie inna bajka, bo szyfruje cały ruch między użytkownikiem a serwerem. W praktyce to znaczy, że nasze dane, przykładowo hasła w formularzach logowania, są lepiej chronione przed podsłuchiwaniem. Oprócz tego warto pamiętać o standardach OWASP, które mocno podkreślają, jak ważne jest stosowanie HTTPS i POST tam, gdzie przesyłamy wrażliwe informacje. To naprawdę mogłoby uratować nas przed różnymi atakami, jak Man-in-the-Middle, więc nie ma co ryzykować i warto stosować te metody.

Pytanie 5

Parkowanie domeny to proces, który polega na

A. nabyciu nowej domeny
B. dodaniu aliasu CNAME dla domeny
C. stworzeniu strefy domeny i wskazaniu serwerów DNS
D. zmianie właściciela domeny poprzez cesję
Parkowanie domeny to proces, który polega na utworzeniu strefy domeny i wskazaniu odpowiednich serwerów DNS, co umożliwia zarządzanie ruchem związanym z daną domeną. Jest to szczególnie istotne w przypadku, gdy domena została zakupiona, ale nie jest jeszcze używana do żadnej aktywności online, takiej jak hosting strony internetowej. W praktyce, gdy parkowana domena jest przypisana do serwerów DNS, użytkownik może skonfigurować różne usługi, takie jak e-maile, subdomeny czy redirecty. Parkowanie domeny jest również używane w celu ochrony marki, pozwalając na rezerwację nazwy domeny, zanim zostanie ona wykorzystana. Dzięki odpowiednim ustawieniom DNS można również monitorować ruch czy analizować dane związane z parkowaną domeną, co zgodne jest z najlepszymi praktykami branżowymi. Takie podejście zapewnia elastyczność i kontrolę nad domeną w oczekiwaniu na jej pełne wykorzystanie.

Pytanie 6

Przedstawione zapytanie SQL przydziela uprawnienie SELECT

GRANT SELECT ON hurtownia.*
TO 'sprzedawca'@'localhost';
A. dla użytkownika root na serwerze sprzedawca
B. do wszystkich kolumn w tabeli hurtownia
C. do wszystkich tabel w bazie hurtownia
D. dla użytkownika root na serwerze localhost
Polecenie GRANT SELECT ON hurtownia.* pozwala na przyznanie prawa do wykonywania operacji SELECT na wszystkich tabelach w bazie danych hurtownia. Użycie symbolu * po nazwie bazy danych wskazuje na wszystkie tabele w tej konkretnej bazie. Jest to standardowe podejście w systemach zarządzania bazami danych takich jak MySQL, gdzie specyfikacja bazy danych z symbolem * oznacza pełny zakres tabel. Praktycznie oznacza to, że użytkownik ma możliwość przeglądania danych ze wszystkich tabel bez możliwości modyfikacji czy usuwania danych. Takie rozwiązanie stosowane jest często w przypadku ról użytkowników, którzy potrzebują jedynie dostępu do raportowania i analizy danych. Dobre praktyki w zakresie zarządzania uprawnieniami zalecają przydzielanie dokładnie takich praw, jakie są potrzebne do wykonania określonych zadań, co ogranicza ryzyko niepożądanych zmian w bazie danych. Warto zaznaczyć, że precyzyjne zarządzanie prawami dostępu jest kluczowe dla bezpieczeństwa danych w każdej organizacji.

Pytanie 7

GRANT SELECT, INSERT, UPDATE ON klienci TO anna;
Zakładając, że użytkownik wcześniej nie posiadał żadnych uprawnień, to polecenie SQL przyzna użytkownikowi anna prawa jedynie do:
A. wybierania, wstawiania oraz aktualizacji danych tabeli o nazwie klienci
B. wybierania, dodawania rekordów oraz modyfikacji struktury tabeli o nazwie klienci
C. wybierania, wstawiania oraz aktualizacji danych wszystkich tabel w bazie o nazwie klienci
D. wybierania, dodawania rekordów oraz zmiany struktury wszystkich tabel w bazie o nazwie klienci
Odpowiedź jest prawidłowa, ponieważ polecenie SQL 'GRANT SELECT, INSERT, UPDATE ON klienci TO anna;' przyznaje użytkownikowi 'anna' określone prawa do tabeli o nazwie 'klienci'. Prawa te obejmują możliwość wybierania, wstawiania oraz aktualizacji danych w tej tabeli, co jest zgodne z zasadami zarządzania uprawnieniami w systemach baz danych. W praktyce oznacza to, że użytkownik 'anna' będzie mógł wykonywać zapytania SELECT, co pozwoli mu na odczyt danych, a także wstawiać nowe rekordy (INSERT) oraz modyfikować istniejące (UPDATE). To jest standardowa praktyka w zarządzaniu dostępem do danych, która pozwala na precyzyjne kontrolowanie, jakie operacje mogą być wykonywane przez poszczególnych użytkowników. Dobrą praktyką jest ograniczenie uprawnień do minimum, które użytkownik potrzebuje do wykonania swoich zadań, co jest zgodne z zasadą najmniejszych uprawnień. Na przykład, jeżeli 'anna' jest odpowiedzialna tylko za wstawianie nowych klientów, to przyznawanie jej uprawnień do aktualizacji danych może nie być konieczne. W teorii i praktyce bazy danych, rozróżnienie pomiędzy różnymi rodzajami uprawnień jest kluczowe dla bezpieczeństwa i integralności danych.

Pytanie 8

Podczas przechowywania hasła użytkownika serwisu internetowego (np. bankowości online), aby chronić je przed ujawnieniem, zazwyczaj stosuje się funkcję

A. mieszających.
B. klucza.
C. abstrakcyjnych.
D. cyklometrycznych.
Mieszające funkcje, choć istotne w kryptografii, nie są właściwym podejściem do zabezpieczania haseł użytkowników. Ich głównym celem jest zapewnienie, że nawet niewielka zmiana w danych wejściowych prowadzi do drastycznie różniącego się wyniku, co jest przydatne w kontekście tworzenia funkcji hashujących, ale nie wystarcza do ochrony haseł. Funkcje abstrakcyjne, z kolei, dotyczą bardziej teoretycznych modeli czy algorytmów, które nie mają bezpośredniego zastosowania w procesie zabezpieczania haseł. Kluczowe jest, aby zrozumieć, że hasła powinny być przede wszystkim szyfrowane przy użyciu odpowiednich algorytmów, a nie jedynie mieszane czy abstrakcyjne. Cyklometryczne metody również nie mają zastosowania w kontekście ochrony haseł, gdyż ich zastosowanie jest ograniczone do analizy danych czy grafów, a nie do rzeczywistych procesów szyfrowania czy zabezpieczania informacji. Dlatego błędem jest przypuszczenie, że inne metody mogą zastąpić funkcje klucza w kontekście ochrony haseł. W praktyce, stosowanie nieodpowiednich metod zabezpieczających prowadzi do poważnych luk w bezpieczeństwie, które mogą być wykorzystane przez cyberprzestępców.

Pytanie 9

Użytkownik podał adres nieistniejącego obiektu na serwerze. Próba nawiązania połączenia spowoduje wystąpienie błędu

A. 500
B. 400
C. 404
D. 503
Odpowiedź 404 jest poprawna, ponieważ oznacza, że serwer nie może znaleźć zasobu, którego żąda klient. W praktyce, gdy użytkownik próbuje uzyskać dostęp do nieistniejącej strony internetowej lub pliku, serwer zwraca kod błędu 404, co sygnalizuje, że dany adres URL jest nieprawidłowy. Jest to standardowy kod odpowiedzi HTTP, który jest powszechnie wykorzystywany w branży internetowej. Dobre praktyki wskazują, że strony 404 powinny być przyjazne użytkownikowi, na przykład poprzez sugerowanie alternatywnych linków lub przycisków do powrotu na stronę główną. Zrozumienie tego błędu jest istotne dla webmasterów oraz deweloperów, którzy pracują nad utrzymaniem strony, ponieważ błędy 404 mogą wpłynąć na doświadczenie użytkownika oraz pozycjonowanie strony w wyszukiwarkach. Regularne monitorowanie i poprawa linków na stronie jest kluczowym aspektem optymalizacji SEO oraz zarządzania treścią.

Pytanie 10

Podaj zapytanie SQL, które tworzy użytkownika sekretarka na localhost z hasłem zaq123?

A. CREATE USER `sekretarka`@`localhost` IDENTIFY "zaq123";
B. CREATE USER 'sekretarka'@'localhost' IDENTIFIED `zaq123`;
C. CREATE USER `sekretarka`@`localhost` IDENTIFY BY `zaq123`;
D. CREATE USER `sekretarka`@`localhost` IDENTIFIED BY 'zaq123';
Odpowiedź "CREATE USER `sekretarka`@`localhost` IDENTIFIED BY 'zaq123';" jest prawidłowa, ponieważ wykorzystuje poprawną składnię do tworzenia nowego użytkownika w systemie zarządzania bazą danych MySQL. Kluczowe jest użycie słowa kluczowego 'IDENTIFIED BY', które wskazuje, że podane hasło ('zaq123') ma być powiązane z nowym użytkownikiem. Wartości w apostrofach są odpowiednie dla łańcuchów tekstowych w SQL, co jest zgodne z dobrymi praktykami programowania w MySQL. W praktyce, tworzenie użytkowników z odpowiednimi uprawnieniami jest niezbędne do zarządzania dostępem do bazy danych oraz zapewnienia bezpieczeństwa. Dobrą praktyką jest stosowanie silnych haseł oraz regularne audyty kont użytkowników. Warto również zwrócić uwagę na konwencje nazewnictwa oraz ograniczenia w zakresie adresów IP, co ma znaczenie w kontekście bezpieczeństwa i zarządzania użytkownikami w systemie zarządzania bazą danych.

Pytanie 11

Jakie mechanizmy przyznawania zabezpieczeń, umożliwiające przeprowadzanie operacji na bazie danych, są powiązane z tematyką zarządzania kontami, użytkownikami oraz uprawnieniami?

A. Z przywilejami systemowymi
B. Z przywilejami obiektowymi
C. Z atrybutami
D. Z zasadami
Przywileje systemowe to kluczowy element zarządzania bezpieczeństwem w systemach baz danych. Obejmują one uprawnienia, które są przypisane do konta użytkownika na poziomie systemu, a niekoniecznie na poziomie obiektów bazy danych, takich jak tabele czy widoki. Dzięki nim możemy kontrolować dostęp do różnych funkcji systemowych, takich jak możliwość tworzenia nowych użytkowników, modyfikacji struktury bazy danych czy przydzielania uprawnień innym użytkownikom. Przykładem zastosowania przywilejów systemowych jest sytuacja, w której administrator bazy danych przydziela użytkownikom różne role, takie jak DBA (Database Administrator), która daje pełny dostęp do zasobów, lub rola z ograniczonymi uprawnieniami, co pozwala na wykonywanie tylko wybranych operacji. Dobrym przykładem standardów w tej dziedzinie jest podejście oparte na zasadzie minimalnych uprawnień, gdzie użytkownicy otrzymują jedynie te uprawnienia, które są absolutnie niezbędne do wykonywania ich zadań. Dzięki zastosowaniu przywilejów systemowych można skutecznie zarządzać bezpieczeństwem bazy danych oraz minimalizować ryzyko nieautoryzowanego dostępu.

Pytanie 12

Po zrealizowaniu polecenia użytkownik Jacek będzie miał możliwość

GRANT SELECT, INSERT ON baza1.mojaTabela TO 'Jacek'@'localhost';
A. usuwać tabelę i zakładać nową
B. modyfikować strukturę tabeli oraz dodawać nowe dane
C. usuwać rekordy z tabeli i przeglądać informacje
D. przeglądać dane w tabeli i wstawiać nowe dane
Polecenie GRANT SELECT, INSERT ON baza1.mojaTabela TO 'Jacek'@'localhost'; przyznaje użytkownikowi Jacek uprawnienia do przeglądania danych (SELECT) oraz wstawiania nowych danych (INSERT) do tabeli mojaTabela w bazie danych baza1. To oznacza, że Jacek nie ma możliwości usuwania tabeli ani zmiany jej struktury, co jest zarezerwowane dla uprawnień takich jak ALTER czy DROP. Zastosowanie tych uprawnień jest kluczowe w kontekście bezpieczeństwa i zarządzania danymi, ponieważ pozwala na kontrolowanie, kto może wykonywać określone operacje w bazie danych. Przykładem praktycznego zastosowania może być sytuacja, w której zespół programistów musi umożliwić pracownikom działu sprzedaży dostęp do danych klientów w tabeli, ale jednocześnie chce zapobiec przypadkowemu usunięciu lub modyfikacji struktury tabeli. W ten sposób, przyznając tylko uprawnienia SELECT i INSERT, administracja bazy danych może zapewnić odpowiedni poziom kontroli nad danymi, co jest zgodne z najlepszymi praktykami w zakresie zarządzania danymi i zabezpieczeń.

Pytanie 13

W MS SQL Server predefiniowana rola o nazwie dbcreator umożliwia użytkownikowi

A. tworzenie, aktualizowanie, usuwanie oraz przywracanie bazy danych
B. zarządzanie zabezpieczeniami systemu
C. wykonywanie wszelkich operacji na serwerze oraz posiadanie praw do każdej bazy
D. zarządzanie plikami na nośniku
Odpowiedź nr 3 jest poprawna, ponieważ rola dbcreator w MS SQL Server umożliwia użytkownikowi tworzenie, modyfikowanie, usuwanie oraz odzyskiwanie baz danych. Użytkownik z tą rolą ma prawo do pełnej kontroli nad bazami danych, co jest istotne w kontekście zarządzania i utrzymania infrastruktury danych. Przykład praktyczny to sytuacja, w której administrator bazy danych potrzebuje utworzyć nową bazę dla aplikacji. Dzięki roli dbcreator może to zrobić bez dodatkowych uprawnień. Rola ta jest zgodna z najlepszymi praktykami w zakresie zarządzania dostępem, gdzie ogranicza się uprawnienia do niezbędnego minimum, ale jednocześnie umożliwia wykonanie kluczowych zadań związanych z zarządzaniem bazą danych. Warto zaznaczyć, że nadmierne przyznawanie uprawnień może prowadzić do problemów związanych z bezpieczeństwem, dlatego istotne jest przydzielanie ról zgodnie z zasadą najmniejszych uprawnień (Least Privilege Principle). Użytkownicy z rolą dbcreator powinni być odpowiednio przeszkoleni i świadomi swoich działań, aby nie wprowadzać niezamierzonych zmian w środowisku produkcyjnym.

Pytanie 14

Aby cofnąć uprawnienia dostępu do serwera MySQL, należy wykorzystać polecenie

A. DELETE
B. REVOKE
C. GRANT
D. USAGE
Aby odebrać prawa dostępu do serwera MySQL, używa się polecenia REVOKE. To polecenie jest kluczowe w zarządzaniu uprawnieniami użytkowników w systemie zarządzania bazą danych MySQL. REVOKE pozwala na usunięcie wcześniej przydzielonych praw dostępu do określonych zasobów, takich jak tabele, bazy danych lub inne obiekty. Przykładowo, aby odebrać prawo SELECT dla użytkownika 'janek' na tabeli 'produkty', należy użyć komendy: REVOKE SELECT ON produkty FROM 'janek'@'localhost';. Dzięki temu użytkownik 'janek' nie będzie miał możliwości wykonywania zapytań SELECT na tej tabeli. Warto zaznaczyć, że REVOKE działa w oparciu o hierarchię uprawnień, co oznacza, że można je łączyć z innymi poleceniami, aby skutecznie zarządzać dostępem. Zgodnie z dokumentacją MySQL, REVOKE jest integralną częścią systemu autoryzacji, co czyni je niezbędnym dla zapewnienia bezpieczeństwa danych w bazach danych. Użycie REVOKE jest również istotne w kontekście audytów bezpieczeństwa, gdzie konieczne jest zarządzanie dostępem do danych.

Pytanie 15

Jaką czynność należy wykonać przed zrobieniem kopii zapasowej danych w MySQL?

A. zweryfikowanie poprawności tabel w bazie oraz ewentualne naprawienie usterek
B. sprawdzenie, czy baza działa wystarczająco wydajnie
C. ustalenie systemu kodowania znaków w bazie
D. przyznanie uprawnień do przeglądania bazy dla Administratora
Sprawdzenie poprawności tabel w bazie przed wykonaniem kopii bezpieczeństwa jest kluczowym krokiem, który pozwala na zapewnienie integralności danych. W przypadku, gdy w tabelach występują błędy, takie jak uszkodzone wiersze czy niedopasowane indeksy, proces tworzenia kopii zapasowej może nie uwzględnić tych problemów, co w konsekwencji prowadzi do utraty danych lub trudności w ich przywróceniu. W MySQL, przed rozpoczęciem backupu, zaleca się użycie polecenia 'CHECK TABLE' do weryfikacji stanu tabel. Przykładowo, jeśli tabela 'users' jest sprawdzana i wykryto błąd, można zastosować 'REPAIR TABLE', aby naprawić uszkodzenia. Dobrą praktyką w branży jest regularne tworzenie kopii zapasowych oraz prowadzenie audytów jakości danych, co pozwala na minimalizację ryzyka utraty informacji. Utrzymywanie bazy danych w dobrym stanie technicznym poprzez regularne sprawdzanie tabel oraz ich naprawianie jest zalecane w dokumentacji MySQL oraz innych systemów zarządzania bazami danych, co podkreśla znaczenie tego procesu w kontekście bezpieczeństwa danych.

Pytanie 16

W języku SQL wykonano przedstawione poniżej polecenia GRANT. Kto będzie miał prawo do przeglądania danych oraz ich zmiany?

GRANT ALL ON firmy TO 'adam'@'localhost';
GRANT ALTER, CREATE, DROP ON firmy TO 'anna'@localhost;
GRANT SELECT, INSERT, UPDATE ON firmy TO 'tomasz'@'localhost';
A. Adam i Anna
B. Anna i Tomasz
C. Jedynie Tomasz
D. Tomasz i Adam
Odpowiedź 'Tomasz i Adam' jest poprawna, ponieważ obaj użytkownicy mają przypisane odpowiednie uprawnienia do przeglądania oraz modyfikacji danych w bazie 'firmy'. Adam otrzymał pełne uprawnienia, co oznacza, że może przeglądać (SELECT) oraz modyfikować (INSERT, UPDATE, DELETE) dane, a także zmieniać strukturę tabel (ALTER, CREATE, DROP). Tomasz, z kolei, ma przydzielone szczegółowe uprawnienia do przeglądania danych (SELECT) oraz ich modyfikacji (INSERT, UPDATE). W praktyce, przydzielanie uprawnień w bazach danych odbywa się zgodnie z zasadą minimalnych uprawnień, co oznacza, że każdy użytkownik powinien mieć tylko te uprawnienia, które są mu niezbędne do realizacji przydzielonych zadań. Dobrą praktyką jest regularna weryfikacja przydzielonych uprawnień oraz ich dostosowywanie do zmieniających się potrzeb organizacji.

Pytanie 17

Możliwość utworzenia konta użytkownika jan z hasłem janPass można osiągnąć przy pomocy polecenia

A. CREATE USER 'jan'@'localhost' IDENTIFIED BY 'janPass';
B. CREATE USER 'jan'@'localhost';
C. CREATE USER 'jan'@'%localhost' IDENTIFIED VIA mysql_native_password USING 'janPass';
D. CREATE USER 'jan'@'localhost' PASSWORD EXPIRE;
Pozostałe odpowiedzi zawierają błędy związane z używaniem składni SQL do tworzenia użytkowników. W pierwszym przypadku, polecenie 'CREATE USER 'jan'@'localhost';' nie definiuje hasła, co sprawia, że użytkownik nie będzie mógł się zalogować, ponieważ brak jest wymaganego elementu autoryzacji. W kontekście bezpieczeństwa i standardów zarządzania użytkownikami, każdemu utworzonemu kontu należy przypisać odpowiednie hasło, aby uniemożliwić dostęp osobom nieuprawnionym. Następnie, polecenie 'CREATE USER 'jan'@'localhost' PASSWORD EXPIRE;' jest niepoprawne, ponieważ nie tworzy użytkownika z hasłem; zamiast tego, sugeruje jedynie, że hasło ma wygasnąć, co nie jest sensowną operacją przy tworzeniu nowego konta. Warto zauważyć, że takie podejście do zarządzania użytkownikami może prowadzić do poważnych luk w zabezpieczeniach. Wreszcie, odpowiedź 'CREATE USER 'jan'@'%localhost' IDENTIFIED VIA mysql_native_password USING 'janPass';' również zawiera błąd. Choć używa poprawnej składni, to 'USING' oraz 'IDENTIFIED VIA' nie są odpowiednie w kontekście tworzenia użytkowników w MySQL, co prowadzi do niepoprawnego rozumienia procesu autoryzacji. Poprawne podejście do zarządzania użytkownikami w MySQL koncentruje się na odpowiednim zabezpieczeniu i zarządzaniu hasłami, co nie zostało odzwierciedlone w powyższych odpowiedziach.

Pytanie 18

Czy automatyczna weryfikacja właściciela witryny korzystającej z protokołu HTTPS jest możliwa dzięki

A. informacjom whois
B. danym kontaktowym zamieszczonym na stronie
C. prywatnym kluczom
D. certyfikatowi SSL
Certyfikat SSL (Secure Sockets Layer) jest kluczowym elementem w automatycznej weryfikacji właściciela strony internetowej, który jest udostępniany przez protokół HTTPS. Głównym zadaniem certyfikatu SSL jest zapewnienie, że komunikacja między przeglądarką a serwerem jest zaszyfrowana oraz że tożsamość serwera została potwierdzona przez zaufaną stronę trzecią, czyli urząd certyfikacji (CA - Certificate Authority). Certyfikaty SSL są wydawane po przeprowadzeniu odpowiednich weryfikacji tożsamości wnioskodawcy, co może obejmować sprawdzenie danych WHOIS, ale również inne procesy weryfikacyjne, takie jak potwierdzenie adresu e-mail lub dokumentów właściciela firmy. Przykładowo, witryny e-commerce korzystają z certyfikatów SSL, aby zapewnić bezpieczeństwo transakcji finansowych, co zwiększa zaufanie użytkowników do sklepu. Na poziomie technicznym, certyfikat SSL implementuje protokoły kryptograficzne, takie jak TLS (Transport Layer Security), co nie tylko zabezpiecza transmisję danych, ale także umożliwia autoryzację strony. W praktyce, posiadanie certyfikatu SSL wpływa również na pozycjonowanie w wyszukiwarkach, ponieważ Google promuje strony z bezpiecznym połączeniem HTTPS.

Pytanie 19

Gaśnicę oznaczoną literą C stosuje się do gaszenia pożarów

Ilustracja do pytania
A. tłuszczów i olejów kuchennych.
B. metali palnych.
C. gazów palnych.
D. cieczy i ciał stałych.
Prawidłowo – litera C na oznaczeniu gaśnicy oznacza, że jest ona przeznaczona do gaszenia pożarów gazów palnych. W europejskiej klasyfikacji pożarów (PN-EN 2) klasa C obejmuje m.in. takie gazy jak propan, butan, metan, acetylen czy wodór. To są typowe gazy używane w instalacjach gazowych, butlach turystycznych, palnikach, piecach, a także w niektórych procesach technologicznych. W praktyce, przy pożarach klasy C stosuje się najczęściej gaśnice proszkowe lub rzadziej śniegowe (CO₂), ponieważ ich środek gaśniczy nie przewodzi prądu i nie reaguje niebezpiecznie z płonącym gazem. Kluczowa zasada: w przypadku wycieku i zapłonu gazu najpierw, o ile to możliwe, odcina się dopływ gazu (zawór, kurek główny), a dopiero potem dogasza płomień. Gaśnica C nie jest przeznaczona do chłodzenia rozgrzanych elementów konstrukcji, tylko do przerwania reakcji spalania w strefie płomienia. W gaśnicach oznaczonych C środek gaśniczy działa głównie poprzez mechanizm inhibicji łańcuchowej reakcji spalania i odcięcie dopływu tlenu do strefy spalania. Moim zdaniem warto zapamiętać prostą praktyczną rzecz: widzisz literę C – myśl o gazie z butli, instalacji gazowej, palniku. W branżowych szkoleniach BHP i PPOŻ zawsze podkreśla się, żeby nie używać wody do pożarów gazów, bo to jest kompletnie nieskuteczne, a czasem wręcz niebezpieczne. Dlatego dobra znajomość symboli A, B, C, D, F na gaśnicach to podstawa bezpiecznej pracy w każdym obiekcie technicznym, magazynie, warsztacie czy kotłowni.

Pytanie 20

Które z poniższych poleceń przyznaje użytkownikowi uczen najniższy poziom uprawnień w zakresie zmiany danych i struktury tabel?

A. GRANT ALTER, SELECT ON szkola.przedmioty TO uczen;
B. GRANT DROP ON szkola.przedmioty TO uczen;
C. GRANT INSERT, DROP ON szkola.przedmioty TO uczen;
D. GRANT SELECT ON szkola.przedmioty TO uczen;
Odpowiedź GRANT SELECT ON szkola.przedmioty TO uczen jest poprawna, ponieważ przyznaje użytkownikowi 'uczen' jedynie uprawnienia do odczytu danych w tabeli 'przedmioty' w bazie danych 'szkola'. Uprawnienia SELECT pozwalają na przeglądanie danych, co jest istotne w kontekście nauki czy oceny przedmiotów, ale nie zezwalają na modyfikację danych ani na zmiany w strukturze tabeli. To podejście jest zgodne z zasadą minimalnych uprawnień, co oznacza, że użytkownik powinien mieć tylko te uprawnienia, które są niezbędne do wykonania swoich zadań. W praktyce, przyznawanie tylko uprawnień SELECT jest szczególnie ważne w środowiskach edukacyjnych, gdzie chcemy zapewnić uczniom dostęp do informacji, ale jednocześnie chronić integralność danych. W kontekście dobrych praktyk, ograniczenie dostępu do danych wrażliwych jest kluczowe, a nadawanie zbyt szerokich uprawnień może prowadzić do nieautoryzowanych zmian lub utraty danych.

Pytanie 21

Co wchodzi w skład standardowego frameworka?

A. zarządzanie komunikacją z bazą danych, system uruchamiania i przetwarzania akcji
B. przetwarzanie formularzy oraz wbudowany serwer
C. domena oraz obsługa błędów
D. system uruchamiania i przetwarzania akcji oraz certyfikat http
Frameworki aplikacji webowych dostarczają zestawu narzędzi i standardów, które ułatwiają tworzenie oprogramowania. W kontekście tego pytania, zarządzanie komunikacją z bazą danych oraz mechanizm uruchamiania i przetwarzania akcji stanowią kluczowe komponenty każdego frameworka. Zarządzanie komunikacją z bazą danych odnosi się do sposobów, w jakie aplikacja łączy się z bazą danych, wykonuje zapytania i przetwarza wyniki. Przykładowo, w frameworkach takich jak Django czy Ruby on Rails, stosuje się ORM (Object-Relational Mapping), co ułatwia interakcję z bazą danych poprzez obiektowe podejście zamiast pisania surowych zapytań SQL. Mechanizm uruchamiania i przetwarzania akcji opisuje, jak framework interpretuje i obsługuje żądania użytkowników, co obejmuje routing, middleware i obsługę logiki biznesowej. Takie podejście jest zgodne z zasadą DRY (Don't Repeat Yourself), co zwiększa efektywność i jakość kodu w projektach programistycznych.

Pytanie 22

Błędy interpretacji kodu PHP są

A. wyświetlane w oknie edytora kodu PHP po wybraniu przycisku kompiluj.
B. zapisywane w podglądzie zdarzeń systemu Windows.
C. ignorowane przez przeglądarkę oraz interpreter kodu PHP.
D. zapisywane w logu pod warunkiem ustawienia odpowiedniego parametru w pliku php.ini.
Poprawnie – w PHP błędy interpretacji (parse errors, fatal errors itd.) są standardowo zapisywane do logu, o ile w konfiguracji serwera i pliku php.ini jest to włączone. Kluczowe są tu parametry takie jak `log_errors` (powinno być ustawione na `On`) oraz `error_log` (ścieżka do pliku logu). To właśnie te ustawienia decydują, czy komunikaty błędów trafią do pliku dziennika, czy zostaną po prostu zignorowane z punktu widzenia logowania. W praktyce administracyjnej i programistycznej log błędów PHP to jedno z podstawowych narzędzi diagnozowania problemów na serwerze. W środowisku produkcyjnym dobrą praktyką jest wyłączenie wyświetlania błędów w przeglądarce (`display_errors = Off`) i jednoczesne włączenie szczegółowego logowania do pliku. Dzięki temu użytkownik nie widzi wrażliwych informacji o strukturze aplikacji, a programista nadal ma pełen wgląd w to, co się posypało. Z mojego doświadczenia, dobrze skonfigurowane logi ratują masę czasu przy debugowaniu: np. gdy aplikacja zwróci białą stronę albo kod 500, pierwszy odruch to zajrzeć do `error_log` i sprawdzić dokładny komunikat, numer linii, plik, czas wystąpienia. W projektach zespołowych często stosuje się też rotację logów (logrotate) i dodatkowe narzędzia typu ELK, Graylog czy Sentry, które zbierają logi z wielu serwerów. Niezależnie od skali, zasada jest ta sama: błędy PHP powinny być automatycznie logowane, a konfiguracja w php.ini jest punktem wyjścia do ich prawidłowej obsługi i monitoringu w profesjonalnym środowisku webowym.

Pytanie 23

Polecenie GRANT w języku SQL służy do

A. umieszczania nowych danych w bazie.
B. nadawania użytkownikom praw do obiektów.
C. aktualizacji istniejących danych w bazie.
D. odbierania użytkownikom praw do obiektów.
Poprawnie – polecenie GRANT w SQL służy właśnie do nadawania użytkownikom praw do obiektów w bazie danych. W praktyce GRANT jest jednym z kluczowych narzędzi mechanizmu kontroli dostępu, czyli tzw. autoryzacji. Najpierw ktoś łączy się z bazą (to jest uwierzytelnianie – login/hasło, certyfikat itd.), a dopiero potem baza sprawdza, jakie uprawnienia ma ten użytkownik. I tu wchodzi GRANT. Administrator lub właściciel obiektu może przyznać użytkownikowi np. prawo SELECT do tabeli `klienci`, prawo INSERT do tabeli `zamowienia`, albo prawo EXECUTE do procedury składowanej. Składnia jest dość prosta, np.: `GRANT SELECT, INSERT ON klienci TO jan;`. W większości systemów (np. PostgreSQL, Oracle, MySQL/MariaDB, SQL Server) idea jest podobna, różnią się tylko szczegóły i nazwy ról czy typów uprawnień. W dobrych praktykach bezpieczeństwa nie daje się użytkownikom uprawnień typu „wszystko na wszystkim”, tylko dokładnie to, czego potrzebują (tzw. zasada najmniejszych uprawnień – least privilege). Moim zdaniem warto już na etapie nauki SQL odróżniać polecenia do pracy na danych (SELECT, INSERT, UPDATE, DELETE) od poleceń do zarządzania uprawnieniami, takich jak GRANT i REVOKE. W codziennej pracy administratora baz, programisty backendu czy nawet osoby od DevOps, GRANT pojawia się bardzo często: przy tworzeniu nowych kont aplikacyjnych, przy separacji środowisk (dev/test/prod), przy ograniczaniu dostępu do wrażliwych tabel, np. z danymi osobowymi. Dobre zrozumienie GRANT pomaga też szybko diagnozować błędy typu „permission denied” i świadomie projektować politykę bezpieczeństwa w systemie.

Pytanie 24

Przyjmując, że użytkownik Adam nie miał dotychczas żadnych uprawnień, polecenie SQL przyzna mu prawa jedynie do

GRANT CREATE, ALTER ON sklep.* TO adam;
A. dodawania i modyfikacji danych we wszystkich tabelach bazy sklep
B. tworzenia oraz modyfikowania struktury w tabeli sklep
C. dodawania i modyfikacji danych w tabeli sklep
D. tworzenia i zmiany struktury wszystkich tabel w bazie sklep
To, co zaznaczyłeś, jest jak najbardziej na miejscu. W tym SQL-u, 'GRANT CREATE, ALTER ON sklep.* TO adam;' dajesz użytkownikowi, czyli adamowi, możliwości tworzenia i zmieniania struktury wszystkich tabel w bazie 'sklep'. Słowo 'CREATE' pozwala mu na tworzenie nowych tabel, a 'ALTER' umożliwia mu wprowadzanie zmian w tych istniejących, na przykład dodawanie czy usuwanie kolumn. Ważne, żeby ogarnąć, że 'sklep.*' oznacza wszystkie tabele w danej bazie, co jest zgodne z dobrymi praktykami w zarządzaniu bazami danych. No bo jakby adam miał ochotę dodać nową tabelę albo zmodyfikować istniejącą, to musi mieć odpowiednie uprawnienia. Przykładem może być sytuacja, gdy administrator daje programiście dostęp do zmian w strukturze tabel, żeby móc dodać nowe funkcje do aplikacji – to naprawdę ważne dla rozwoju systemu.

Pytanie 25

CAPTCHA to metoda zabezpieczeń stosowana na stronach WWW, która umożliwia

A. potwierdzenie, że informacje z formularza są przesyłane przez człowieka
B. przyspieszenie logowania do aplikacji internetowej
C. ominięcie procesu autoryzacji w aplikacji internetowej
D. automatyczne wypełnienie formularza logowania danymi użytkownika
CAPTCHA, czyli Completely Automated Public Turing test to tell Computers and Humans Apart, to technika zabezpieczeń powszechnie stosowana na stronach internetowych, której celem jest rozróżnienie użytkowników ludzkich od automatycznych programów (botów). Mechanizm ten działa poprzez prezentację wyzwań, które są trudne do rozwiązania przez maszyny, ale relatywnie proste dla ludzi. Przykłady obejmują rozpoznawanie tekstu zniekształconego w obrazach, wybieranie obrazków pasujących do podanych kategorii, czy rozwiązywanie prostych zagadek logicznych. CAPTCHA jest bardzo istotnym narzędziem w ochronie przed spamem, atakami typu brute-force oraz innymi formami nadużyć, które mogą zagrażać bezpieczeństwu aplikacji internetowych. Zastosowanie CAPTCHA stało się standardem w branży IT i jest szeroko wspierane przez organizacje, takie jak Google, które opracowały popularny reCAPTCHA, integrujący technologię uczenia maszynowego do dalszego poprawienia skuteczności i użyteczności testów. Wdrożenie CAPTCHA w formularzach rejestracyjnych czy logowania znacząco zwiększa poziom bezpieczeństwa, jednocześnie zmniejszając ryzyko nadużyć oraz ochroniając dane użytkowników.

Pytanie 26

Z ilustracji można odczytać, że użytkownik bazy danych posiada uprawnienia do:

Ilustracja do pytania
A. wyświetlania, dodawania i aktualizacji danych.
B. wyświetlania, aktualizacji i usuwania danych.
C. dodawania, aktualizacji i usuwania danych.
D. wyświetlania, dodawania i usuwania danych.
Na ilustracji widać listę uprawnień do bazy danych w typowym narzędziu administracyjnym (bardzo podobne okno można spotkać np. w phpMyAdminie). Zaznaczone są pola SELECT, UPDATE i DELETE, a niezaznaczone INSERT oraz FILE. W praktyce oznacza to, że użytkownik może odczytywać dane (SELECT), modyfikować istniejące rekordy (UPDATE) oraz je usuwać (DELETE), ale nie ma prawa dodawać nowych wierszy (INSERT) ani operować na plikach na serwerze (FILE). Dlatego poprawna odpowiedź to: „wyświetlania, aktualizacji i usuwania danych”. SELECT odpowiada za wyświetlanie/odczyt danych, UPDATE za aktualizację rekordów, a DELETE za kasowanie danych w tabelach. W administracji bazą danych takie precyzyjne rozróżnienie uprawnień jest jedną z podstawowych dobrych praktyk bezpieczeństwa: użytkownik powinien mieć dokładnie takie prawa, jakich potrzebuje do pracy (zasada najmniejszych uprawnień – least privilege). Na przykład: typowy użytkownik aplikacji raportującej potrzebuje zwykle tylko SELECT, bo ma jedynie oglądać dane. Pracownik działu obsługi klienta może mieć SELECT i UPDATE, aby poprawiać błędne dane klientów, ale niekoniecznie DELETE, żeby przypadkiem nie usuwać rekordów. Z kolei konto techniczne używane przez skrypty migracyjne albo instalator systemu może mieć pełen zestaw: SELECT, INSERT, UPDATE, DELETE. Moim zdaniem warto od razu kojarzyć te nazwy z typowymi poleceniami SQL, bo później, przy pisaniu zapytań w kodzie (PHP, JavaScript z backendem, itp.), dokładnie te same słowa kluczowe pojawiają się w instrukcjach. Jeśli system pokazuje uprawnienia tak jak na obrazku, zawsze patrz najpierw, które checkboxy są zaznaczone, i od razu tłumacz je sobie na: odczyt, dodawanie, zmiana, usuwanie danych.

Pytanie 27

Plik konfiguracyjny, który umożliwia ustalenie parametrów PHP dla całego serwera, to

A. httpd.conf
B. config.inc.php
C. php.ini
D. my.ini
Plik konfiguracyjny php.ini jest kluczowym elementem w konfiguracji środowiska PHP na serwerze. Umożliwia on zdefiniowanie różnorodnych ustawień, które mają wpływ na działanie aplikacji PHP. W pliku tym można ustawić m.in. poziom raportowania błędów, limit czasu wykonywania skryptów, wielkość pamięci, dostępne rozszerzenia oraz wiele innych parametrów. Dla przykładu, można zdefiniować dyrektywę 'memory_limit', która określa maksymalną ilość pamięci, jaką może używać jeden skrypt PHP. Dzięki temu administratorzy serwera mają pełną kontrolę nad środowiskiem uruchomieniowym, co jest niezwykle istotne w kontekście bezpieczeństwa i wydajności aplikacji. Plik php.ini jest zgodny ze standardami PHP i jest dokumentowany w oficjalnej dokumentacji, co ułatwia jego poprawne skonfigurowanie. Bez odpowiedniego dostosowania ustawień w php.ini, aplikacje mogą napotykać na problemy, takie jak przekroczenie limitu pamięci czy niewłaściwe raportowanie błędów, co może prowadzić do trudności w diagnozowaniu problemów.

Pytanie 28

Jaką czynność należy wykonać przed przystąpieniem do tworzenia kopii zapasowej danych w bazie MySQL?

A. sprawdzenie integralności bazy oraz ewentualna jej naprawa
B. weryfikacja, czy baza działa wystarczająco efektywnie
C. określenie systemu kodowania znaków w bazie
D. przyznanie uprawnień do przeglądania bazy dla Administratora
Sprawdzenie integralności bazy danych MySQL przed wykonaniem kopii bezpieczeństwa jest kluczowym krokiem, który zapewnia, że wszystkie dane są w dobrym stanie i nie występują żadne uszkodzenia. Integralność bazy danych odnosi się do spójności i poprawności danych przechowywanych w bazie. Narzędzia takie jak 'CHECK TABLE' oraz 'REPAIR TABLE' pozwalają na identyfikację i naprawę potencjalnych problemów związanych z uszkodzeniami tabel. Przykładem może być sytuacja, w której dane zostały nieprawidłowo zapisane lub usunięte, co może prowadzić do błędów w aplikacjach korzystających z bazy. W przypadku wykrycia problemów, ich naprawa przed stworzeniem kopii zapasowej jest niezbędna, aby uniknąć przenoszenia uszkodzonych danych do nowej lokalizacji. Standardy branżowe, takie jak ISO 27001, podkreślają znaczenie zarządzania integralnością danych, co stanowi fundament skutecznych strategii backupowych. Właściwie przeprowadzona diagnostyka przed wykonaniem kopii bezpieczeństwa nie tylko minimalizuje ryzyko utraty danych, ale również zwiększa efektywność procesów przywracania systemu po awarii.

Pytanie 29

Uprawnienia obiektowe przyznawane użytkownikom serwera bazy danych mogą umożliwiać lub ograniczać

A. przechodzić uprawnienia
B. realizować operacje na bazie, takie jak wstawianie lub modyfikowanie danych
C. wykonywać polecenia, takie jak tworzenie kopii zapasowej
D. zmieniać role i konta użytkowników
Uprawnienia obiektowe w kontekście baz danych pozwalają na kontrolowanie dostępu do różnych zasobów, takich jak tabele, widoki czy procedury składowane. Odpowiedź dotycząca wykonywania operacji na bazie, takich jak wstawianie czy modyfikowanie danych, jest prawidłowa, ponieważ uprawnienia te bezpośrednio wpływają na możliwości użytkownika w zakresie manipulacji danymi. Przykładowo, jeśli użytkownik posiada uprawnienie do INSERT, może dodawać nowe rekordy do tabeli, natomiast uprawnienie UPDATE pozwala na zmianę istniejących danych. Takie zarządzanie uprawnieniami jest kluczowe w kontekście bezpieczeństwa danych oraz zapewnienia integralności systemu, ponieważ pozwala na ograniczenie dostępu tylko do tych operacji, które są niezbędne dla danego użytkownika. W praktyce administratorzy baz danych stosują zasady minimalnych uprawnień, przyznając użytkownikom tylko te uprawnienia, które są niezbędne do wykonywania ich pracy, co jest zgodne z najlepszymi praktykami w zakresie zarządzania bezpieczeństwem baz danych.

Pytanie 30

Wśród technik rozwiązywania problemów w przedsiębiorstwie znajdują się: ignorowanie, separacja, arbitraż oraz kompromis. Wskaż metodę, która szczególnie może być niebezpieczna i prowadzić do zaostrzenia konfliktu w firmie?

A. arbitraż
B. separacja
C. ignorowanie
D. kompromis
Odpowiedzią, która wskazuje na technikę szczególnie ryzykowną, jest ignorowanie. Ignorowanie problemów w firmie może prowadzić do ich eskalacji, ponieważ nie podejmowanie działań w sytuacjach konfliktowych często prowadzi do narastających napięć. Przykładowo, jeśli zespół projektowy ma niezgodności co do metodologii pracy, a kierownik postanowi to zignorować, różnice mogą się pogłębiać, prowadząc do braku współpracy i obniżenia morale. W praktyce, ignorowanie konfliktów jest jednym z najczęstszych błędów w zarządzaniu, co potwierdzają standardy zarządzania projektami, takie jak PMBOK, które zalecają aktywne podejście do rozwiązywania konfliktów. Ignorowanie problemów nie tylko wpływa na dynamikę zespołu, ale także może wpłynąć na wyniki finansowe organizacji, ponieważ niewłaściwe zarządzanie konfliktami może prowadzić do opóźnień w projektach oraz zwiększonych kosztów. Z tego względu kluczowe jest, aby menedżerowie i liderzy nie bagatelizowali konfliktów, lecz podejmowali działania w celu ich rozwiązania oraz wprowadzenia kultury otwartej komunikacji w zespole.

Pytanie 31

Czego nie należy brać pod uwagę przy zabezpieczaniu serwera bazy danych przed atakami hakerskimi?

A. Defragmentacja dysków
B. Aktywacja zapory
C. Używanie skomplikowanych haseł do bazy
D. Zamykanie portów związanych z bazą danych
Defragmentacja dysków, mimo że może poprawić wydajność dysków twardych, nie jest bezpośrednio związana z zabezpieczeniem serwera bazy danych przed atakami hakerów. Zabezpieczenia bazy danych powinny koncentrować się na praktykach, które bezpośrednio wpływają na ochronę danych i dostęp do nich. Przykładem skutecznych środków ochrony są złożone hasła, które utrudniają nieautoryzowany dostęp do systemu. Stosowanie silnych haseł, które łączą litery, cyfry oraz znaki specjalne, jest podstawowym krokiem w kierunku zabezpieczenia bazy danych. Kolejnym aspektem jest blokowanie portów, które nie są niezbędne do działania bazy danych, co może znacznie ograniczyć możliwości ataku z sieci. Włączenie zapory (firewall) także przyczynia się do ochrony, monitorując i kontrolując ruch sieciowy. Warto podkreślić, że zgodnie z zasadami bezpieczeństwa, minimalizacja punktów dostępu do bazy danych jest kluczowa dla jej ochrony.

Pytanie 32

Wymień dwa sposoby na zabezpieczenie bazy danych w Microsoft Access.

A. Wprowadzenie zabezpieczeń na poziomie użytkownika oraz sesji
B. Zaszyfrowanie pliku bazy danych oraz wysyłanie SMS-ów z kodem autoryzacyjnym
C. Określenie hasła do otwarcia bazy danych oraz wprowadzenie zabezpieczeń na poziomie użytkownika
D. Używanie funkcji anonimowych oraz ustawienie hasła dostępu do bazy danych
Ustalanie hasła do otwarcia bazy danych oraz zabezpieczeń na poziomie użytkownika to kluczowe aspekty bezpieczeństwa w kontekście zarządzania bazą danych Microsoft Access. Ustalanie hasła do bazy danych jest podstawowym krokiem w ochronie danych przed nieautoryzowanym dostępem. Każda próba otwarcia bazy wymaga podania poprawnego hasła, co znacząco utrudnia dostęp osobom trzecim. Dodatkowo, zabezpieczenia na poziomie użytkownika pozwalają na przypisanie różnych ról i uprawnień do konkretnych użytkowników, co zapewnia, że tylko uprawnione osoby mogą edytować, przeglądać lub usuwać dane. Przykładowo, menedżer bazy danych może zdefiniować użytkowników, którzy mają jedynie dostęp do raportów, podczas gdy inni mogą modyfikować dane. Takie podejście jest zgodne z dobrymi praktykami w zakresie zarządzania danymi, gdzie stosuje się zasady minimalnych uprawnień oraz segmentacji obowiązków, co zwiększa ogólne bezpieczeństwo systemu.

Pytanie 33

Jakie polecenie należy wykorzystać, aby przypisać użytkownikowi uprawnienia do tabel w bazie danych?

A. CREATE
B. SELECT
C. GRANT
D. REVOKE
Poprawna odpowiedź to GRANT, które jest standardowym poleceniem w systemach zarządzania bazami danych (DBMS) umożliwiającym nadawanie użytkownikom uprawnień do wykonywania określonych operacji na obiektach bazy danych, takich jak tabele, widoki czy procedury. Przy użyciu GRANT administrator bazy danych może precyzyjnie określić, jakie działania użytkownik może wykonać, np. SELECT (odczyt danych), INSERT (wstawianie danych), UPDATE (aktualizacja danych) czy DELETE (usuwanie danych). Przykładowo, polecenie 'GRANT SELECT ON tablename TO username;' nadaje użytkownikowi 'username' prawo do odczytu danych z tabeli 'tablename'. Dobrą praktyką jest przydzielanie minimalnych uprawnień, które są niezbędne do realizacji zadań, co zwiększa bezpieczeństwo bazy danych. Warto również zauważyć, że uprawnienia mogą być nadawane grupom użytkowników, co upraszcza zarządzanie dostępem w dużych organizacjach.

Pytanie 34

W pliku konfiguracyjnym serwera Apache httpd.conf linia kodu Listen 120 oznacza

A. numer portu, na którym nasłuchuje serwer.
B. jeden z numerów kodu błędu odpowiedzi HTTP.
C. maksymalną liczbę jednoczesnych połączeń z sieci do serwera.
D. czwarty oktet adresu IP serwera.
Wpis „Listen 120” w pliku httpd.conf informuje serwer Apache, na jakim porcie ma nasłuchiwać przychodzących połączeń TCP. W praktyce oznacza to: jeżeli ktoś wchodzi na serwer, to ich przeglądarka łączy się z adresem IP serwera właśnie na ten numer portu. Standardowo HTTP działa na porcie 80, HTTPS na 443, ale w konfiguracji można ustawić dowolny inny port, np. 8080, 8000 czy właśnie 120. Dzięki dyrektywie Listen Apache „wiąże się” (binduje) z wybranym portem i zaczyna tam czekać na żądania HTTP. To jest podstawowy element konfiguracji warstwy sieciowej serwera WWW. W środowiskach produkcyjnych najczęściej stosuje się Listen 80 i Listen 443, czasem dodatkowe porty dla paneli administracyjnych, środowisk testowych albo aplikacji działających równolegle. Warto też wiedzieć, że można podać razem adres IP i port, np. Listen 192.168.0.10:80, wtedy Apache nasłuchuje tylko na konkretnym interfejsie sieciowym, co jest dobrą praktyką bezpieczeństwa, bo ogranicza ekspozycję usług. W nowoczesnych konfiguracjach często występuje kilka dyrektyw Listen, gdy serwer obsługuje wiele adresów IP lub protokołów. Z mojego doświadczenia porządek w portach i świadome używanie Listen bardzo ułatwia diagnostykę problemów typu „serwer nie odpowiada” czy konflikty z innymi usługami (np. innym serwerem WWW albo kontenerem Docker) działającymi na tej samej maszynie.

Pytanie 35

Jakie zadania programistyczne należy realizować po stronie serwera?

A. Walidacja danych wpisanych w pole tekstowe w czasie rzeczywistym
B. Zapisanie danych pobranych z aplikacji internetowej do bazy danych
C. Zmiana stylu HTML na stronie spowodowana ruchem kursora
D. Ukrywanie oraz odkrywanie elementów strony w zależności od bieżącej pozycji kursora
Zapis danych z aplikacji internetowej w bazie to super ważna sprawa. Ogólnie mówiąc, to serwer się tym zajmuje. To on trzyma i zarządza informacjami, które wysyłamy, jak się rejestrujemy czy wypełniamy jakieś formularze. Kiedy użytkownik coś wpisuje, te dane muszą lecieć do serwera, gdzie są przetwarzane i lądować w bazie danych. Przykładowo, w relacyjnych bazach danych, jak MySQL czy PostgreSQL, używa się zapytań SQL do zarządzania tymi danymi, co ułatwia ich późniejsze szukanie. Warto też pamiętać o bezpieczeństwie – serwer musi robić walidację danych, żeby nie dać się nabrać na ataki typu SQL Injection. No i architektura MVC świetnie pokazuje, jak ważne jest miejsce serwera dla danych. Zapis danych to po prostu kluczowy element w działaniu aplikacji webowych.

Pytanie 36

W systemie MySQL przypisanie roli DBManager daje użytkownikowi dostęp do

A. wszystkich działań na bazach danych oraz użytkownikach serwera
B. nadzorowania serwera
C. wszystkich działań na bazach danych
D. zakładania kont użytkowników serwera oraz ustalania im haseł
Nadanie roli o nazwie DBManager w systemie zarządzania bazą danych MySQL przyznaje użytkownikowi pełne prawa do wykonywania wszystkich operacji na bazach danych. Oznacza to, że osoba posiadająca tę rolę ma możliwość tworzenia, modyfikowania i usuwania baz danych oraz tabel, a także zarządzania danymi wewnątrz tych struktur. Użytkownik z rolą DBManager może także wykonywać zapytania SQL, zapewniając tym samym elastyczność w zarządzaniu danymi. W praktyce, przypisanie tej roli może być niezwykle użyteczne w sytuacjach, gdy administracja bazą danych wymaga często wprowadzania zmian lub przeprowadzania analiz. Standardy bezpieczeństwa w bazach danych sugerują, aby przyznawanie takich uprawnień było ściśle kontrolowane i ograniczone do zaufanych użytkowników. Na przykład, w środowiskach produkcyjnych, rolę DBManager powinno się przyznawać tylko tym użytkownikom, którzy wykazali odpowiednią znajomość zasad działania baz danych oraz technik zarządzania danymi.

Pytanie 37

Do jakiego celu służy polecenie mysqldump?

A. optymalizacji bazy
B. naprawy niespójnej bazy
C. stworzenia kopii zapasowej bazy
D. sprawdzenia integralności bazy
Polecenie mysqldump jest narzędziem używanym w systemach zarządzania bazami danych MySQL i MariaDB, które pozwala na tworzenie kopii zapasowych baz danych. Główna funkcjonalność mysqldump polega na eksportowaniu danych oraz struktury bazy danych do pliku tekstowego w formacie SQL. Taki plik może być później użyty do przywrócenia bazy danych w przypadku awarii lub utraty danych. Przykładowo, administratorzy baz danych często wykorzystują mysqldump do tworzenia regularnych kopii zapasowych przed wprowadzeniem istotnych zmian w strukturze bazy lub przed aktualizacją systemu. Stosowanie mysqldump w praktyce jest zgodne z najlepszymi praktykami zarządzania danymi, które podkreślają znaczenie regularnego tworzenia kopii zapasowych jako strategii ochrony danych. Warto również pamiętać, że mysqldump ma różne opcje, które umożliwiają dostosowanie procesu tworzenia kopii zapasowej, takie jak wybór konkretnych tabel, pomijanie danych lub dodanie opcji kompresji, co zwiększa elastyczność i efektywność tego narzędzia.

Pytanie 38

W tabeli artykuly przeprowadzono poniższe operacje związane z uprawnieniami użytkownika jan.

GRANT ALL PRIVILEGES ON artykuły TO jan
REVOKE SELECT, UPDATE ON artykuly FROM jan

Jakie będą uprawnienia użytkownika jan po wykonaniu tych operacji?

A. tworzenia tabeli oraz aktualizowania danych w niej
B. przeglądania tabeli
C. aktualizowania informacji oraz przeglądania tabeli
D. tworzenia tabel oraz ich zapełniania danymi
Wybór odpowiedzi dotyczącej "aktualizowania danych i przeglądania tabeli" nie jest poprawny, ponieważ po wykonaniu polecenia REVOKE SELECT, UPDATE ON artykuly FROM jan, jan traci te konkretne uprawnienia. Warto zauważyć, że polecenie GRANT ALL PRIVILEGES przyznaje użytkownikowi szereg uprawnień, ale ich zakres można ograniczyć innymi poleceniami, jak REVOKE. Z tego powodu jan nie ma już możliwości przeglądania tabeli ani jej aktualizowania, co czyni tę odpowiedź nieaktualną. Często w praktyce zawodowej zdarza się, że nadawane są szerokie uprawnienia, a następnie w miarę potrzeby są one ograniczane, co może prowadzić do nieporozumień, jeśli nie zrozumie się działania tych poleceń. Kolejna niepoprawna odpowiedź, która sugeruje "przeglądanie tabeli", również jest błędna z tego samego powodu - jan nie ma takich uprawnień po REVOKE. Ostatnia z odpowiedzi, mówiąca o "tworzeniu tabeli i aktualizowaniu w niej danych", jest niepoprawna, ponieważ użytkownik jan nie ma już prawa aktualizacji danych po wycofaniu tych uprawnień. Zrozumienie mechanizmów zarządzania uprawnieniami jest kluczowe w pracy z bazami danych, aby uniknąć przypisania użytkownikom większych niż potrzebne przywilejów, co mogłoby prowadzić do nieautoryzowanego dostępu lub usunięcia danych.

Pytanie 39

W bazie danych wykonano poniższe polecenia dotyczące uprawnień użytkownika adam:

GRANT ALL PRIVILEGES ON klienci TO adam;
REVOKE SELECT, INSERT, UPDATE ON klienci FROM adam;
Po wykonaniu tych instrukcji użytkownik adam uzyska dostęp do:
A. usunięcia tabeli lub jej rekordów
B. tworzenia tabeli klienci i modyfikowania w niej danych
C. zmiany danych oraz przeglądania tabeli klienci
D. przeglądania tabeli klienci oraz dodawania do niej rekordów
Odpowiedzi, które sugerują, że <b>adam</b> nie ma uprawnień do usunięcia tabeli lub jej rekordów, mogą wynikać z niepełnego zrozumienia pojęcia uprawnień w bazach danych. Przede wszystkim, użytkownik z uprawnieniami ALL PRIVILEGES zyskuje pełny zestaw możliwości, co obejmuje również prawo do usuwania danych. W związku z tym, stwierdzenie, że użytkownik może tylko aktualizować dane i przeglądać tabelę, jest błędne. Ponadto, nieprawidłowe twierdzenie, że <b>adam</b> może tworzyć tabelę <b>klienci</b>, jest także mylące, ponieważ przydzielone uprawnienia dotyczą już istniejącej tabeli, a nie tworzenia nowych struktur. Użytkownik przyznany ALL PRIVILEGES na konkretnej tabeli nie ma automatycznie możliwości tworzenia nowych tabel w bazie danych; wymaga to oddzielnego przydziału uprawnień. Kluczowym błędem w myśleniu jest założenie, że uprawnienia administracyjne dotyczą jedynie wstawiania i przeglądania danych, podczas gdy tak naprawdę obejmują one również usuwanie. W praktyce, zarządzając uprawnieniami, należy jasno zdefiniować, jakie konkretne działania są dozwolone, aby zapewnić bezpieczeństwo bazy danych oraz uniknąć nieautoryzowanych modyfikacji. Dobre praktyki w zarządzaniu użytkownikami wskazują na potrzebę ograniczonego dostępu, co może ułatwić kontrolę nad danymi i zachować ich integralność.

Pytanie 40

W MySQL nadanie roli DBManager użytkownikowi pozwala na uzyskanie praw umożliwiających

A. wszystkie działania na bazach danych oraz użytkownikach serwera
B. tworzenie kont użytkowników na serwerze oraz przypisywanie im haseł
C. nadzorowanie serwera
D. wszelkie operacje na bazach danych serwera
Wybór odpowiedzi, która sugeruje, że rola DBManager przyznaje wszystkie operacje na bazach danych i użytkownikach serwera, jest błędny. Chociaż rola ta rzeczywiście daje szerokie uprawnienia do operacji na bazach danych, nie obejmuje ona zarządzania użytkownikami serwera, co jest kluczowe w kontekście bezpieczeństwa i kontroli dostępu. W rzeczywistości w MySQL, operacje związane z tworzeniem użytkowników i nadawaniem im odpowiednich uprawnień są zarezerwowane dla ról administracyjnych, jak np. root. Zrozumienie tego jest fundamentalne dla właściwego zarządzania bezpieczeństwem w systemach bazodanowych, ponieważ umożliwia to precyzyjne określenie, kto ma dostęp do jakich danych oraz jakie operacje może wykonać. Typowym błędem jest mylenie ról i uprawnień. Użytkownicy muszą zrozumieć, że różne role mają różne poziomy dostępu i odpowiedzialności, co można osiągnąć poprzez odpowiednie przypisywanie uprawnień w oparciu o zasady najmniejszych uprawnień. Również, monitorowanie serwera, które zostało wspomniane jako jedna z odpowiedzi, nie jest związane z rolą DBManager, a zamiast tego wymaga osobnych narzędzi i uprawnień, które pozwalają na analizę wydajności i działania systemu.