1. Zaprojektuj strukturę dtd spełniającą 3 postać normalną
DTD w 3PN:
<!ELEMENT planety (planeta,nazwa,masa,temperatura)>
<!ELEMENT planeta (nazwa,masa,temperatura)>
<!ELEMENT temperatura (temp_min,temp_max)>
<!ELEMENT nazwa (#PCDATA)>
<!ELEMENT masa (#PCDATA)>
<!ELEMENT temp_min (#PCDATA)>
<!ELEMENT temp_max (#PCDATA)>
DTD budowa:
DTD służy do kontroli poprawności XML’a:
a. Które elementy mogą występować, a które nie
b. Jakiego typu mogą być elementy
c. Ile razy mogą wystąpić
<!ELEMENT nazwa zawartość krotność>
Zawartość:
a) EMPTY – element pusty
b) ANY – dopuszcza każdą wartość
c) (#PCDATA) – element tekstowy
d) Element – potomny
a. (element1, element2) – lista elementów
b. (element1|element2) – jeden z podanych
Krotność:
a) - element ma wystąpić raz
b) ? – zero lub jeden raz
c) * - od zera do nieskończoności
d) + - od jeden do nieskończoności
Atrybuty:
<!ATTLIST Element NazwaAtrybuty TypWystąpienia>
Skróty:
<!ENTITY nazwa wartość>
Odwołanie następuje poprzez &nazwa
3. Zrób wirtualny serwer dla domeny studenci.tu.kielce.pl, zabezpiecz go przed dostępem dla gr1 (tomek, piotrek)
NameVirtualHost studenci.tu.kielce.pl
<VirtualHost studenci.tu.kielce.pl>
DocumentRoot "D:\strona\studenci”
</VirtualHost>
AllowOverride AuthConfig
<Directory "D:\strona\studenci">
AuthType Basic
AuthGroupFile d:\strona\studenci\grupy\
Require group Gr1
</Directory>
W folderze d:\strona\studenci\grupy tworzymy plik txt -> Gr1: tomek piotrek
2. Realizacja wysyłania poczty przez telnet do okreslonego odbiorcy
telnet poczta.student.pl 110 //łączenie z serwerem poczty przez telnet
user student //nazwa uzytkownika
pass student //haslo
helo poczta.student.pl //uwierzytelnianie(dla smtp)
mail from: <student@poczta.student.pl> //adres nadawcy
rcpt to: <wykladowca@poczta.student.pl> //adres odbiorcy
data //tresc wiadomosci
Witaj! . //kropka konczy wpisywanietresci
quit //zamyka połączenie
4. Dla domeny z cw 4 napisz przebieg sesji http po pobraniu index.html
GET /index.html HTTP/1.1
Host: studenci.tu.kielce.pl
### Odpowiedź serwera ###
HTTP/1.1 200 OK
Date: Wed, 28 Feb 2007 13:09:20 GMT
Server: Apache/2.0.59 (Win32) PHP/5.1.6
Last-Modified: Wed, 28 Feb 2007 13:09:01 GMT
ETag: "8f2e-32-1402bf45"
Accept-Ranges: bytes
Content-Length: 50
Content-Type: text/html
<html> <body> STRONA TESTOWA </body>> </html>
5. Omów funkcje serwera http
Dla serwisów WWW podstawę stanowi protokół HTTP – jednokierunkowy, bezpołączeniowy protokół przesyłania
hipertekstu (Hypertext Transfer Protocol). Większość komunikacji HTTP jest inicjowana przez klienta i składa się z prośby o złożone zasoby na źródłowym serwerze. W najprostszym przypadku może to być zrealizowane przez pojedyncze połączenie (v) pomiędzy użytkownikiem(U) a serwerem źródłowym (O). Bramka | Tunel | Proxy |
Projektowanie Aplikacji Internetowych 1 – 2013 - Egzamin
6. Przykład przesyłania danych poprzez pliki cookie pomiedzy dwoma stronami internetowymi. <?php // plik pierwszy.php // zapis $tablica = Array('P' => 'PAI', 'B' => 'BD2'); setcookie('tablica', serialize($tablica), time()+3600); // odczyt zabezpieczony przed nieistniejcym ciasteczkiem if (isset($_COOKIE['tablica'])) { $tablica = unserialize($_COOKIE['tablica']); echo 'Ktory przedmiot lubisz bardziej?<br/>'; echo '<form enctype="multipart/form-data" action="drugi.php" method="post">'; echo '<input type="radio" name="przedmiot" value="'.$tablica[0].'">'.$tablica[0].'<br/>'; echo '<input type="radio" name="przedmiot" value="'.$tablica[1].'">'.$tablica[1].'<br/>'; echo '<input type="submit" name="przeslij" value="Przeslij dane"/></form>'; } else { $tablica = Array(); } //w pliku drugi.php mozna odebrac i zinterpretowac przeslane dane ?>
7. Konfiguracja Apache tak by z roznych adresow dostac sie do domeny (?). <Location /> //katalog glowny serwera SetHandler server-domain //nazwa Order Deny,Allow Deny from all //zabroniony dostep dla wszystkich Allow from .tu.kielce.pl //dostep tylko dla wybranych adresow (domen) Allow from .onet.pl Allow from .com.pl </Location>
8. Struktura odpowiedzi http.
a) Wersja-HTTP Kod-stanu Wynik-operacji
b) dodatkowe pola nagłówka c) <pusta linia> d) dane
gdzie: a) HTTP/1.1 Kod -> Wynik 100-199 Informacja
200-299 Żądanie zostało przetworzone poprawnie
300-399 Żądanie zostało przeadresowane; niezbędne jest wykonanie dalszych kroków
400-499 Żądanie jest niekompletne
500-599 Wystąpił błąd w pracy serwera
b) Np. Data, info o serwerze, długość pliku, rodzaj, kodowanie
c) Jak wyzej
d) Dane np. zawartosc strony .html
Projektowanie Aplikacji Internetowych 1 – 2013 - Egzamin
8. Mod Rewrite - do czego służy?
Ważnym elementem składającym się na funkcjonalną nawigację są przyjazne adresy stron. Przyjazne to takie, które „podobają się” zarówno użytkownikom, jak i wyszukiwarkom. Człowiek może je łatwo zapisać, zapamiętać i przeczytać, a robot wyszukiwarki zidentyfikować na ich podstawie strukturę serwisu i zaindeksować. „Przepisywanie linków” to jeden z najważniejszych elementów pozycjonowania stron WWW. Reguły dla mod_rewrite znajdują się zwykle w pliku .htaccess na serwerze. Kolejną zaletą jest to, że możemy zdecydować za pomocą odpowiednich reguł, które boty możemy dopuścić do naszego serwera, a które nie.
Przykład:
### blokada dostępu do właśnie tego pliku z przeglądarki
<Files .htaccess> order allow,deny deny from all
</Files>
### Blokada przed listowaniem katalogów na serwerze
IndexIgnore *
### Reguły przyjaznych linków – przekierowanie na dostep z przedrostkiem www. oraz domyslny plik / zamiast ### np. index.php
Options +FollowSymlinks
RewriteEngine On
RewriteOptions Inherit
RewriteBase /
RewriteCond %{HTTP_HOST} ^twoja-strona.pl/
RewriteRule ^(.*)$ http://www.twoja-strona.pl/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^www.twoja-strona.pl [NC]
RewriteRule ^(.*)$ http://www.twoja-strona.pl/$1 [L,R=301]
RewriteCond %{REQUEST_URI} ^/(.*)$
### Wyswietlanie strony search.php jako Szukaj.html
RewriteRule ^Szukaj\.html$ search.php [N]
### Wyswietlenie strony articles.php?article_id=(1+) na Artykuly-(1+).html gdzie ###(1+) oznacza dowolna liczbe
RewriteRule ^Artykuly-([1]+)\.html$ articles.php?article_id=$1 [L]
9. Jak zbudowana jest wiadomość mail?
Nagłówek:
a. Date: b. From: c. To: d. Subject: e. Message-ID: f. X-Mailer:
Pusta linia Treść Załącznik:
Projektowanie Aplikacji Internetowych 1 – 2013 - Egzamin
Content-Type: …
Content-Transfer-Encoding: …
TRESC WIADOMOSCI
Content-Disposition: attachment; filename="a1.txt"
Zawartość pliku
10. Opisz wysyłanie obiektów w php (czyli serializacja).
Polega na przekształcaniu obiektów w strumień bajtów, z zachowaniem aktualnego stanu obiektu. Serializowany obiekt może zostać zapisany w pliku dyskowym, przesłany do innego pliku np. poprzez formularz lub do innej strony www. Dzięki temu zapisowi możemy w innym skrypcie za pomocą deserializacji wczytać ten obiekt, posiadający wszystkie właściwości, które nadaliśmy mu przed zapisem do zmiennej tekstowej. Funkcjami za to odpowiedzialnymi są serialize() oraz unserialize(), ich użycie prezentuje przykład: $tablica = Array('P' => 'PAI', 'B' => 'BD2'); setcookie('tablica', serialize($tablica), time()+3600); if (isset($_COOKIE['tablica'])) { $tablica = unserialize($_COOKIE['tablica']); echo 'Ktory przedmiot lubisz bardziej?<br/>'; echo '<form enctype="multipart/form-data" action="drugi.php" method="post">'; echo '<input type="radio" name="przedmiot" value="'.$tablica[0].'">'.$tablica[0].'<br/>'; echo '<input type="radio" name="przedmiot" value="'.$tablica[1].'">'.$tablica[1].'<br/>'; echo '<input type="submit" name="przeslij" value="Przeslij dane"/></form>'; } else { $tablica = Array(); }
11. Jak przetwarzamy dane w PHP? Parser PHP przetwarzając stronę ma 2 tryby pracy:
HTML - Gdzie cała treść jest wyświetlana, bez przetwarzania PHP - Gdzie treść jest traktowana jako skrypt do przetworzenia pomiędzy znacznikami <?php ?> Standardowo parser PHP jest ustawiony w tryb HTML, dlatego po utworzeniu pliku o rozszerzeniu .php możemy pisać w języku HTML bez konieczności osadzania kodu w dodatkowe znaczniki. W pliku .php możemy stosować składnie języka HTML bezpośrednio lub wywołaną w kodzie php poleceniem echo. Możemy również naprzemiennie stosować kod HTML oraz PHP odpowiednio zamykając/otwierając znaczniki PHP. Przykład 1: (Składnia HTML osadzona w kodzie PHP) <?php echo "<h1>Piszemy egzamin</h1>"; ?> Przykład 2: (Składnia HTML osadzona w pliku PHP) <h1>Piszemy egzamin</h1> Przykład 3: (Stosowanie naprzemiennie języka HTML oraz PHP w pliku .php) <?php echo "<h1>Piszemy egzamin</h1>"; ?> <h1>Piszemy egzamin</h1> <?php echo "<h1>Piszemy egzamin</h1>"; ?>
Projektowanie Aplikacji Internetowych 1 – 2013 - Egzamin
12. Opisz attack XSS. Sposób ataku na serwis WWW polegający na osadzeniu w treści atakowanej strony kodu (zazwyczaj JavaScript), który wyświetlony innym użytkownikom może doprowadzić do wykonania przez nich niepożądanych akcji. Skrypt umieszczony w zaatakowanej stronie może obejść niektóre mechanizmy kontroli dostępu do danych użytkownika. Aby atak XSS był możliwy witryna musi prezentować treść przekazaną od użytkownika jako kod HTML serwisu, bez uprzedniej konwersji tekstu na HTML (poprzez zamianę specjalnych znaków HTML na encje) – służy do tego funkcja htmlentities($str). Ochrona przed XSS poprzez samą weryfikację i filtrowanie niebezpiecznych danych jest bardzo trudna. Pomocne w ochronie mogą okazać się inne funkcję PHP:
addslashes stripslashes strip_tags
13. Jakie są pliki konfiguracyjne w apachu?
- httpd.conf - Jest to główny plik konfiguracyjny Apache. W pliku tym zapisane są m.in. informacje na temat komputera, portu, trybu pracy, logów, zasobów udostępnianych przez serwer. Tutaj również przeprowadzamy konfigurację serwerów wirtualnych WWW uruchamianych przy pomocy Apache.
- srm.conf - Plik ten konfiguruje sposób zarządzania żądaniami serwera, wskazuje na katalogi, które zawierają informacje oferowane przez serwer i różne elementy potrzebne do formatowania i prezentowania informacji.
- access.conf - Służy do definiowania kontroli dostępu dla serwera i dostarczanych przez niego informacji.
Wszystkie trzy pliki mają podobną strukturę. Są one plikami ASCII, komentarze zaczynają się od znaku # i wszystkie posiadają obszerny komentarz do poszczególnych poleceń. Ponadto, większość poleceń w plikach jest zapisana w formie opcji, po której następuje wartość przypisana do opcji.
14. SQL Injection
Ten typ ataków opiera się na nieodpowiednim filtrowaniu znaków ucieczki z danych wejściowych, co pozwala na przekazanie dodatkowych parametrów do zapytania.
Przykład:
$q = mysql_query("SELECT * FROM uzytkownicy WHERE uzytkownik = '$uzytkownik'");
Gdy użytkownik przekaże jako $uzytkownik wartość „kowalski”, całe zapytanie przyjmie postać:
SELECT * FROM uzytkownicy WHERE uzytkownik = 'kowalski'
i będzie spełniało swoją funkcję. Jednak gdy złośliwy użytkownik przekaże wartość „x' OR '1'='1”, to całe zapytanie będzie wyglądało:
SELECT * FROM uzytkownicy WHERE uzytkownik = 'x' OR '1'='1'
przez co pobierze z bazy danych wszystkie rekordy zamiast jednego wybranego.
Teoretycznie w ten sposób można przekazać każde zapytanie SQL, włącznie z wykonaniem kilku zapytań naraz. Jeżeli w powyższym przykładzie użytkownik przekaże „x';DROP TABLE uzytkownicy; SELECT '1”, to całe zapytanie przybierze postać:
SELECT * FROM uzytkownicy WHERE uzytkownik = 'x';DROP TABLE uzytkownicy; SELECT '1'
co zaowocuje usunięciem tabeli „uzytkownicy”. Korzystając z ataku typu SQL Injection można również przeprowadzić atak typu DoS (odmowy usługi): x' AND BENCHMARK(9999999,BENCHMARK(999999,BENCHMARK(999999,MD5(NOW()))))=0 OR '1'='1
W tym przypadku serwer spróbuje obliczyć skrót MD5 dla aktualnego czasu 9999993 = 999997000002999999 (w zaokrągleniu trylion) razy.
Projektowanie Aplikacji Internetowych 1 – 2013 - Egzamin
15. Cechy http - server, proxy, tunel
a. Wielowątkowośc b. Skalowalność c. Bezpieczeństwo
d. Serwer Proxy e. Kilka adresów na jednym serwerze
f. SSL g. Mod rewrite h. Kontrola dostępu/uwierzytelnianie: mod_authz_host
Dla serwisów WWW podstawę stanowi protokół HTTP – jednokierunkowy, bezpołączeniowy protokół przesyłania
hipertekstu (Hypertext Transfer Protocol). Większość komunikacji HTTP jest inicjowana przez klienta i składa się z prośby o złożone zasoby na źródłowym serwerze. W najprostszym przypadku może to być zrealizowane przez pojedyncze połączenie (v) pomiędzy użytkownikiem(U) a serwerem źródłowym (O).
Bramka Tunel Proxy Server: lancuch_tekstowy – zwraca informacje o nazwie i wersji serwera Proxy – użycie serwera pośredniczącego w transmisji, który dokonuje pewnych operacji (zwykle nawiązuje połączenia) w imieniu użytkownika
Tunel – zestawienie połączenia między dwoma odległymi hostami tak, by stworzyć wrażenie, że są połączone bezpośrednio
16. Jak jest zbudowany znacznik html?
Znaczniki języka HTML mają postać: <nazwa polecenia>. Określają one sposób formatowania tekstu zawartego pomiędzy nimi przez przeglądarkę użytkownika. Tekst zawarty pomiędzy znakami "<" , oraz ">" stanowi nazwę znacznika i może być pisany zarówno małymi, jak i dużymi literami. Większość znaczników języka HTML jest dwuczęściowa: używa się znacznika początkowego w postaci: <nazwa_polecenia>, oraz znacznika końcowego: </nazwa_polecenia> informującego przeglądarkę o zakończeniu sposobu formatowania tekstu znajdującego się po znaczniku początkowym. Poza znacznikami dwuczęściowymi w języku HTML występują również znaczniki jednoczęściowe, nie wymagające stosowania znacznika końcowego.
Znaczniki te mają postać: <nazwa_polecenia/>. Przykładami tego typu znaczników są: znacznik <hr/> definiujący poziomą linię, oraz znacznik <br/> wymuszający przełamanie tekstu w określonym miejscu. Niektóre znaczniki mogą lub muszą posiadać atrybuty. W takim wypadku postać znacznika jest następująca:
<nazwa_polecenia atrybut="wartość"> ... </nazwa_polecenia>
np. <div style=”text-align: center”>…</div>
zaś dla atrybutów nie posiadających wartości:
<nazwa_polecenia atrybut> ... </nazwa_polecenia>
np. <table border></table> //znacznik który nie musi posiadać wartości atrybutu bo ma domyślny=1
Język HTML dostarcza szereg atrybutów i znaczników stosowanych w zależności od specyfikacji standardu w którym piszemy. Kontroli poprawności kodu zapisanego w danym standardzie możemy dokonać za pomocą ogólnodostępnych walidatorów konsorcjum W3C.
17. Dyrektywy kontroli dostepu apache.
a. Order allow/deny //określa kolejność allow przed deny lub odwrotnie b. Allow from … //hosty których żądania mają być akceptowane c. Deny from … //hosty których żądania mają być odrzucone d. AllowOverride AuthConf //Pozwala uzyć dyrektyw AuthName, AuthType, AuthUserFile, AuthGroupFile. (All umożliwia znoszenie dyrektyw ogólnych) e. AccessFileName .htaccess f. Require (user/group/valid-user) //określa kto ma dostęp do katalogu
18. SSL opisać ogólnie i wyjaśnić jak go skonfigurować.
Protokół do bezpiecznej transmisji zaszyfrowanego strumienia danych. W Apache mamy OpenSSL, jest to niekomercyjna implementacja SSL i TSL. Dzięki niemu możemy tworzyć certyfikaty i nimi zarządzać. Konfiguracja:
Generowanie certyfikatu: openssl req -config openssl.cnf -new -out my-server.csr del .rnd openssl rsa -in privkey.pem -out my-server.key openssl x509 -in my-server.csr -out my-server.cert -req –signkey my-server.key -days 365 Koniec generowania certyfikatu.
Pliki niezbedne dla serwera: my-server.cert, my-server.key
Modyfikacja pliku http.conf:
LoadModule ssl_module modules/mod_ssl.so
SSLMutex default
Projektowanie Aplikacji Internetowych 1 – 2013 - Egzamin
SSLRandomSeed startup builtin
SSLSessionCache none #SSLLog logs/SSL.log
#SSLLogLevel info Listen 443
<VirtualHost www.wykladowca.pl:443>
ServerName www.wykladowca.pl
DocumentRoot " D:\St_www\Gr_11a\wykladowca"
ServerAlias wykladowca.pl
ErrorDocument 401 "Nie jestes wykladowca!"
ErrorDocument 403 "Dostep tylko dla wykladowcow."
SSLEngine On SSLCertificateFile my-server.cert
SSlCertyficateKeyFile my-server.key </VirtualHost>
19. Dyrektywy blokowe Apache.
a. VirtualHost b. Directory c. Files
d. Location e. IfModule
20. Dyrektywy autoryzacji Apache.
a. AuthConfig b. AuthName //określa nazwę autoryzacji dla katalogu c. AuthGroupFile /list_grup //sprawdzanie autentyczności grup d. AuthUserFile /lista //plik z nazwami uzytkownikow i haslami sprawdzanych przy autoryzacja
e. AuthType Basic //typ autoryzacji
21. Typowe architektury systemów informacyjnych.
a. Klient-Serwer – architektura płaska
b. Klient-Serwer – architektura hierarchiczna
c. P2P – równorzędna d. P2P – hybrydowa
e. P2P - superwęzeł
22. Etapy przesyłania wiadomości w systemach informacyjnych.
WIADOMOŚĆ ->[ WPROWADZENIE <-> AUTORYZACJA CERTYFIKATU] -> WSTĘPNE PRZETWARZANIE ->DANE (bazy danych) -> PRZETWARZANIE -> INFORMACJE (raporty)
23. Etapy przetwarzania informacji.
a) Wiadomość – sygnał, przekaz dotyczący zjawiska, zdarzenia lub procesu b) Dana – sformalizowana wiadomość, posiadająca określoną strukturę c) Informacja – powstaje w skutek interpretacji przetworzonych danych
d) Wiedza – informacja nadająca się do wykorzystania
e) Mądrość – umiejętność podejmowania uzasadnionych decyzji w oparciu o wiedze f) Decyzja – określony sposób działania w oparciu o mądrość
WIADOMOŚĆ -> DANA -> INFROMACJA -> WIEDZA -> MĄDROŚĆ -> DECYZJA
24. Budowa dyrektyw Apache
a) blokowe <dyrektywa parametr > zawartość
</dyrektywa>
b) zwykłe nazwa wartość
25. Opisać protokół FTP
FTP jest najpopularniejszą usługą słuzącą do przesyłania plików poprzez sieć. Działa ona na zasadzie klient serwer to znaczy na jednej maszynie znajduje się odpowiednie oprogramowanie służące do udostępniania zasobów i do niego korzystając z odpowiedniego oprogramowania podłączają się uzytkownicy.
Tryb aktywny Połączenia FTP w trybie aktywnym są czasami nazywane „zarządzanymi przez klienta". Połączenie w trybie active ma same plusy, będąc w tym trybie możemy połączyć się z każdym użytkownikiem. możemy być activ jeżeli mamy stałe zewnętrzne IP, lub przekierowane porty TCP i UDP. Tryb pasywny
Połączenia FTP w trybie pasywnym są czasami nazywane „zarządzanymi przez serwer”. Tryb pasywny oznacza, że nie masz stałego IP lub jesteś za firewallem dlatego możemy połączyć się tylko z userem, który jest w trybie aktywnym.
26. Jaka jest różnica pomiędzy przekazywaniem zmiennych przez sesje i ciasteczka
Główną różnica jest to że ciasteczka są zapisywane w przeglądarce użytkownika, a sesje nie. Ciasteczko może trzymać informację lub jakieś dane dopóki nie zostanie skasowane. Na przykład można zapisać hasło oraz login przez co użytkownik nie będzie musiał się przelogowywać cały czas. Problem w tym że ciasteczka mogą zostać wyłączone lub skasowane. Sesje zaś działają trochę inaczej, istnieją dopóki przeglądarka nie zostanie zamknięta i podają informację między sobą. Można ich używać obu razem.
27. Sesja – krótka charakterystyka
Sesja to w informatyce obiekt, zapamiętujący przez pewien czas na serwerze szczegóły dotyczące połączenia z klientem. Cechą charakterystyczną sesji jest to, że przypisane do niej dane mają przeważnie charakter chwilowy, ulotny. W sesji można przechowywać dowolne wartości, np. adres IP klienta, odwiedzone przez niego podstrony, wybrane produkty w sklepie internetowym, informacja o zalogowaniu, identyfikatory itp. Dla każdego klienta tworzona jest osobna sesja, dzięki temu informacje te nie mieszają się pomiędzy różnymi użytkownikami danej strony. Serwer musi posiadać sposób na rozpoznawanie, która sesja należy do którego klienta. Osiągane jest to poprzez stosowanie identyfikatora sesji, który po stronie klienta jest na ogół przechowywany w ciasteczku lub rzadziej w treści URL-a.
Działanie sesji w PHP jest bardzo proste. W momencie pierwszego trafienia na stronę interpreter tworzy specjalny, losowy oraz unikalny identyfikator przesyłany między żądaniami za pomocą ciastek lub parametru PHPSESSID doklejanego automatycznie do adresów URL. Na jego podstawie odczytywany jest później odpowiedni plik z danymi sesji zapisany gdzieś na serwerze. Pod koniec przetwarzania żądania wszystkie wprowadzone przez skrypt zmiany są z powrotem zapisywane do wspomnianego pliku tak, aby były widoczne przy wejściu na kolejną podstronę. I tak to się toczy.
28. Ciasteczka (Cookies) – krótka charakterystyka
Niewielkie informacje tekstowe, wysyłane przez serwer WWW i zapisywane po stronie użytkownika (zazwyczaj na twardym dysku). Domyślne parametry ciasteczek pozwalają na odczytanie informacji w nich zawartych jedynie serwerowi, który je utworzył. Ciasteczka są stosowane najczęściej w przypadku liczników, sond, sklepów internetowych, stron wymagających logowania, reklam i do monitorowania aktywności odwiedzających. Ciasteczka mogą zawierać rozmaite rodzaje informacji o użytkowniku danej strony WWW i "historii" jego łączności z daną stroną (a właściwie serwerem).
29. Opisz atak DDoS
DDoS – atak na system komputerowy lub usługę sieciową w celu uniemożliwienia działania poprzez zajęcie wszystkich wolnych zasobów, przeprowadzany równocześnie z wielu komputerów (np. zombie).
Atak DDoS jest odmianą ataku DoS polegającą na zaatakowaniu ofiary z wielu miejsc jednocześnie. Do przeprowadzenia ataku służą najczęściej komputery, nad którymi przejęto kontrolę przy użyciu specjalnego oprogramowania (różnego rodzaju tzw. boty i trojany). Na dany sygnał komputery zaczynają jednocześnie atakować system ofiary, zasypując go fałszywymi próbami skorzystania z usług, jakie oferuje. Dla każdego takiego wywołania atakowany komputer musi przydzielić pewne zasoby (pamięć, czas procesora, pasmo sieciowe), co przy bardzo dużej liczbie żądań prowadzi do wyczerpania dostępnych zasobów, a w efekcie do przerwy w działaniu lub nawet zawieszenia systemu.
30. Standardowe numery portów dla protokołów SMTP, POP3, HTTP oraz FTP
- SMTP – 25 - POP3 – 110 - HTTP – 80 - FTP - 21
31. Protokół SMTP – schemat
HELO domena - przywitanie
MAIL FROM: <adres@nadawcy>
RCPT TO: <adres@odbiorcy>
DATA - poczatek transferu danych
. - koniec danych
QUIT - zakonczenie sesji
REST - wyczyszczenie sesji
32. Protokół POP3 – schemat
USER uzytkownik – przedstawienie
PASS haslo STAT (w odpowiedzi +OK 4 3456)
LIST nr – szczegoly wiadomosci
RETR nr – pobranie wiadomosci o nr
DELE nr – usuniecie
QUIT – zakonczenie polaczenia
Kody odpowiedzi: +OK ERR komentarz
1. Zaprojektuj strukturę dtd spełniającą 3 postać normalną
2. Realizacja wysyłania poczty przez telnet do okreslonego odbiorcy
3. Zrób wirtualny serwer dla domeny studenci.tu.kielce.pl, zabezpiecz go przed dostępem dla gr1 (tomek, piotrek)
4. Dla domeny z cw 4 napisz przebieg sesji http po pobraniu index.html
5. Omów funkcje serwera http
6. Przykład przesyłania danych poprzez pliki cookie pomiedzy dwoma stronami internetowymi.
7. Konfiguracja Apache tak by z roznych adresow dostac sie do domeny
8. Struktura odpowiedzi http.
8. Mod Rewrite - do czego służy?
9. Jak zbudowana jest wiadomość mail?
10. Opisz wysyłanie obiektów w php (czyli serializacja).
11. Jak przetwarzamy dane w PHP?
12. Opisz attack XSS. 13. Jakie są pliki konfiguracyjne w apachu?
14. SQL Injection
15. Cechy http - server, proxy, tunel
16. Jak jest zbudowany znacznik html?
17. Dyrektywy kontroli dostepu apache.
18. SSL opisać ogólnie i wyjaśnić jak go skonfigurować.
19. Dyrektywy blokowe Apache.
20. Dyrektywy autoryzacji Apache.
21. Typowe architektury systemów informacyjnych. 22. Etapy przesyłania wiadomości w systemach informacyjnych.
23. Etapy przetwarzania informacji.
24. Budowa dyrektyw Apache
25. Opisać protokół FTP
26. Jaka jest różnica pomiędzy przekazywaniem zmiennych przez sesje i ciasteczka 27. Sesja – krótka charakterystyka
28. Ciasteczka (Cookies) – krótka charakterystyka
29. Opisz atak DDoS
30. Standardowe numery portów dla protokołów SMTP, POP3, HTTP oraz FTP 31. Protokół SMTP – schemat
32. Protokół POP3 – schemat