Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Fejlett Programozási Technikák 2.

Hasonló előadás


Az előadások a következő témára: "Fejlett Programozási Technikák 2."— Előadás másolata:

1 Fejlett Programozási Technikák 2.
14/1

2 Bilicki Vilmos bilickiv@inf.u-szeged.hu
Árpád tér 50.-es szoba 3411-es mellék

3 Követelmények, tudnivalók
Vizsga év végén 2 zárthelyi Jegyzet van (lesz) Weboldal lesz:

4 Miért érdekes a téma Nők Pénz Autók

5 Miért érdemes használni?
Vékony kliens technológia Elosztott rendszerek Platform független Elterjedt Sokoldalú

6 Tematika I. rész A World Wide Web alapjai A HTTP protokoll
Az SHTTP protokoll A TLS protokoll A HTML nyelv CSS Az XML nyelv WEBDAV WAP

7 II. rész Dinamikus tartalom CGI Szerver oldali programozás
Kliens oldali programozás Java

8 III. rész Web szerverek Apache Iplanet 3 rétegű architektúrák
Servlet engine-k

9 IV. rész Alkalmazás szerverek Weblogic iPlanet JRun J2eesdk

10 Bevezető Vannevar Bush:As we may think (1945)
Theodor Holm Nelson:Memex (hyprtext) CERN: HTML Átviteli protokol: HTTP

11 HTTP(Hyper Text Transfer Protocol)
Kliens-szerver modell Állapotmentes Alkalmazásszintű protokol Megbízható átviteli közegre épül Új fogalmak: Webszerver Proxy szerver

12 HTTP 1.1 Kapcsolatorientált Részletes proxy specifikáció 80-as port
URI (Universal Resource Identifier)

13 URI Rfc2396 <protokol>:<protokol specifikus rész>
<protokol>://<azonosítás><elérési-útvonal>?<Lekérdezés> US-ASCII Más karaterek: %

14 URL HTTP specifikus: URL (Universal Resource Locator)
http : // host [ : ] [ port ] [ abszolút-útvonal [ ? query ] ] Relatív útvonal

15 HTTP üzenetek Kérés (request) Válasz (response) kezdő sor fejléc sorok
üres sor az üzenet tartalma

16 Kérés üzenetek(kezdő sor)
GET OPTIONS POST HEAD TRACE

17 GET GET / HTTP/1.1 Host: sirius.cab.u-szeged.hu HTTP/1.1 200 OK
Date: Thu, 13 Dec :55:37 GMT Server: Apache/ (Unix) PHP/4.0.6 Transfer-Encoding: chunked Content-Type: text/html 8a0 <HTML> <HEAD> <TITLE>Irinyi Kabinet</TITLE> </HEAD> <body... </ADDRESS> </BODY> </HTML>

18 OPTIONS OPTIONS /cgi-bin/szotarE HTTP/1.1 Host: sirius.cab.u-szeged.hu
HTTP/ OK Date: Mon, 17 Dec :05:54 GMT Server: Apache/ (Unix) PHP/4.0.6 Content-Length: 0 Allow: GET, HEAD, POST, OPTIONS, TRACE

19 HEAD HEAD /teszt/ HTTP/1.1 Host: wilma.cab.u-szeged.hu HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0 Cache-Control: max-age=86400 Expires: Tue, 18 Dec :47:33 GMT Content-Location: Date: Mon, 17 Dec :47:33 GMT Content-Type: text/html Accept-Ranges: bytes Last-Modified: Mon, 17 Dec :03:32 GMT ETag: "fc50cd9c387c11:88e" Content-Length: 83

20 POST POST /teszt/ HTTP/1.1 Host: wiliam.u-szeged.hu adat: research

21 TRACE TRACE / HTTP/1.1 Host: wiliam.u-szeged.hu Adat: research
HTTP/ OK Server: Netscape-Enterprise/6.0 Date: Sun, 23 Dec :49:45 GMT Content-type: message/http Content-length: 62

22 Egyéb CONNECT DELETE PUT

23 Fejléc mezők Host If-Modified-Since User-Agent Adat: research …

24 Válasz üzenet Állapot mező Válasz fejléc mezők Erőforrás
erőforrás fejléc erőforrás tartalom

25 Állapot mezők 1xx – Információs 2xx – Siker 3xx – Átirányítás
4xx – Kliens oldali hiba 5xx – Szerver oldali hiba

26 Válasz fejléc WWW-Authenticate Age Cache-Control Expires Content-Type

27 MIME Text Plain Html Image Audio Video Application

28 Biztonság HTTP -> magas rendelkezésre állás Más szempontok:
adatok titkossága adatok megbízhatósága egyének azonosítása

29 Azonosítási eljárások
Basic Authentication Digest Authentication

30 Basic Authentication UID Password Realm
HTTP/ Authorization Required

31 Példa HTTP/1.1 401 Authorization Required
Date: Fri, 28 Dec :24:32 GMT Server: Apache/ (Unix) PHP/4.0.6 X-Powered-By: PHP/4.0.6 WWW-Authenticate: Basic realm="My Realm" Transfer-Encoding: chunked Content-Type: text/html Authorization: Basic base64(user:pass)

32 Hátrányok Nem biztonságos Használata mellőzendő, veszélyes
Lehallgatható Nem titkosított Nincs megoldva a jelszó elosztása Használata mellőzendő, veszélyes Ha mégis akkor: Csak generált jelszavakkal szabad

33 Digest Authentication
challenge-response nonce URI Idő Véletlen szám … Kivonatoló függvény (hash) MD5 Nehéz visszafejteni

34 A kérés paraméterei Challenge Domain Nonce Opaque Stale Algorithm
Qop-int

35 A válasz paraméterei username digest-URI message-qop cnonce
nonce-count response

36 message-qop Nincs Auth Auth-int A1 = username-value:realm-value:passwd
A2 = Method:digest-uri-value response = "KD(H(A1),nonce:H(A2))" Auth response = "KD(H(A1),nonce:nonce-count:cnonce:qop:H(A2))" Auth-int A2 = Method:digest-uri-value:H(entity-body)

37 Példa WWW-Authenticate: Digest realm="testrealm@host.com",
HTTP/ Unauthorized WWW-Authenticate: Digest qop="auth,auth-int", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", opaque="5ccc069c403ebaf9f0171e9517f40e41" Válasz: Authorization: Digest username="Mufasa", uri="/dir/index.html", qop=auth, nc= , cnonce="0a4f113b", response="6629fae49393a c4ef1",

38 Előnyök Titkosított jelszó Szótáras támadás védhető(cnonce)
Megvéd a replay támadásoktól Biztosít bizonyos adatbiztonságot

39 Hátrányok Nem mond semmit a jelszó kiosztásáról
Nincs titkosítva a tartalom Limitált integritás védelem A nonce használatának teljesítménybeni korlátai vannak

40 Felhasznált technológia
Szimmetrikus kulcsú titkosítás Gyors Probléma a közös kulcs eljuttatása Aszimmetrikus (nyilvános) kulcsú titkosítás Lassú Nem jelent problémát a kulcs publikálása Digitális Aláírás Digitális Bizonyítvány

41 Új megoldások Két megközelítési mód: Új réteg: Módosított HTTP TLS
SHTTP

42 SHTTP Felülről kompatibilis a HTTP protokollal
Üzenetek becsomagolása CMS,MOSS Digitális aláírás MAC nonce Kulcssere és titkosítás Üzenet integritás és küldő azonosítás Aktualitás ellenőrzése Sok titkosító algoritmus

43 SHTTP Hasonló üzenet mint a HTTP protokollnál: Kérés:
Secure * Secure-HTTP/1.4 Válasz: Secure-HTTP/ OK

44 TLS (Tranport Layer Security)
Új réteg bevezetése: Netscape SSL Microsoft PCT IETF TLS

45 TLS felosztása I. TLS Handshake Session identifier Peer certificate
Compression method Cipher spec Master secret Is resumable

46 TLS felosztása II. TLS Record Fragmentálás Tömörítés Tartalom védelem
Titkosítás

47 Kapcsolat felépítés Hello üzenetcsere Rejtjelezési paraméter csere
Bizonyítvány csere Főkulcs Adatcsere

48 A HTML nyelv Megjelenítésre koncentrál
Gépek számára nehezen értelmezhető Tag-ek segítségével épül fel a dokumentum(<elem>) Böngésző elrejti a kódot Jelenleg HTML

49 Felépítés információ a HTML verziójáról fejrész (header) törzs (body)

50 Egy egyszerű HTML oldal
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//HU" " <HTML> <head> <TITLE>Ez a fejléc</TITLE> </head> <body> <p>Hello világ! </body> </html>

51 Megjelenítve

52 DTD (document type declaration)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" " <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "

53 Fejléc (header) Általában nem jelenik meg a képernyőn
A dokumenturól és a kapcsolatról tartalmaz fontos információkat <title> <meta> <link>

54 Példa meta fejléc <META http-equiv="Cache-Control" content="no-cache"> <META http-equiv="Content-Type" content="text/html; charset=ISO "> <META name="Author" content="Bilicki Vilmos"> <META name="keywords" lang="hu" content="html, css, jegyzet">

55 Törzs <body> Célszerű a formázásra css-t alkalmazni Background
Text Link Vlink Alink Célszerű a formázásra css-t alkalmazni

56 Logikai felépítést definiáló elemek
Címsor elemek(<h1>,…) Szövegrészek csoportosítása <div> <span> Ennyi! az XML-t erre fejlesztették ki

57 Példa <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//HU"
" <HTML> <head> <TITLE>Bemutatkozás</TITLE> </HEAD> <body> <h1 id="munkatársak">Munkatársak</h1> <DIV id="beosztottak"> Cégünk munkatársai közé tartozik <SPAN id="portás">Kovács Lajos</SPAN> és <SPAN class="titkár">Nagy Péter</SPAN>. </DIV> <DIV id="kutatók"> A kutató osztály munkatársai <SPAN id="vegyészet">Kovács János</SPAN>, és <SPAN id="számítástechnika">Nagy Szabolcs</SPAN>. </body> </html>

58 Képernyőn

59 Szöveg formázása A beírt szöveg elveszíti formázását.
Szöveg formázás megtartása (<pre>) Bekezdések (<p>) Sortörés (<br>) Nonbreakable space ( ) Kiemelés (<em>) Vastag betű (<strong>) Idézet (<cite>) Felső index (<sup>) Alsó index (sub)

60 Listák Számozatlan(<ul>) Számozott (<ol>)
Az elem <li> Definició (<dl>) Az elem <dt> vagy <dd>

61 Példa <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//HU"
" <HTML> <head> <title>Listák</title> </HEAD> <body> <ul> <li>alma <li>körte <li>dió </ul> <ol> <dl> <dt>alma <dd>Az alma egyik legfotosabb vitaminforrásunk. <dt>dió <dd>A dió kemény gyümölcs </dl> </body> </html>

62 Képernyőn

63 Táblázatok Egyik legfontosabb pozicionáló elem <table>
<tr> <td> <th> <thead> <tbody> <tfoot> <caption>

64 Példa <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//HU"
" <html><head><title>Táblázatok</title></head> <body> <table border="1"> <caption>Minta táblázat</caption> <tr> <th>1. oszlop</th> <th>2. oszlop</th> <th>3. oszlop</th> </tr> <td>1. sor, 1. cella</td> <td>1. sor, 2. cella</td> <td>1. sor, 3. cella</td> <td>2. sor, 1. cella</td> <td>2. sor, 2. cella</td> <td>2. sor, 3. cella</td> </table> </body> </html>

65 Képernyő

66 Oszlop, sor formázás colspan rowspan colgroup col

67 Példa <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//HU"
" <html> <head> <title>Táblázatok</title> </head> <body> <table border="1"> <caption>Minta táblázat</caption> <tr> <th colspan="2">1., 2. oszlop</th> <th>3. oszlop</th> </tr> <td>1. sor, 1. cella</td> <td>1. sor, 2. cella</td> <td rowspan="2"> 1. sor, 3. cella, 2. sor, 3. cella </td> <td>2. sor, 1. cella</td> <td>2. sor, 2. cella</td> </table> </body> </html>

68 Képernyő

69 Hivatkozások <link> <a href=“elso.html#1”>
<a name=“1”> <id=“1”>

70 Keretek <frameset> <frame> target

71 Példa <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
" <html> <head> <title>Több keretes példa</title> </head> <frameset rows="10%,*" > <frame src="a.html" name="a"> <frameset cols="20%,*"> <frame src="b.html" name="b"> <frame src="c.html" name="c" > </frameset> </html>

72 Képernyő

73 Objektumok,képek, appletek
<img> <map><area> <iframe> <object> classid codebase codetype Egymásba ágyazás

74 Példa <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//HU"
" </html> <head> <title>Képek, térképek</title> </head> <table> <tr><td> <object data="menu.x" type="x/x" height="50" width="50"> <img src="../../graphics/menu.png" alt="menük" usemap="#terkep" border="0"> </object> </td> </tr> <tr><td><iframe src="12.html"> </table> <map name="terkep"> <area href="elsomenu.html" coords="30,50,39,31,110,31,110,50,30,50" shape="poly"> <area href="masodikmenu.html" coords="80,30,100,110" shape="rect"> </map> </body>

75 Képernyő

76 Űrlapok <form> action method get post name

77 Elemek <input> text password file hidden radio checkbox button
submit reset

78 Elemek <select> <textarea> size multiple name option rows
cols

79 Példa I. rész <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//HU"
" </html> <head> <title>Kérdoiv</title> </head> <body> <form action="ertekelo.php" method="post" name="form1"> <table> <tr><td>Vezetéknév:</td> <td><input type="text" name="vnev" size="20" maxlength="50"></td> </tr> <tr><td>Keresztnév:</td> <td><input type="text" name="knev" size="20" maxlength="50"></td> <tr><td>Nem:</td> <td><input type="radio" name="nem" value="f" checked> <input type="radio" name="nem" value="n"></td>

80 Példa II. rész <tr><td>Osztály:</td>
<td><select name="osztaly"> <option value="a">A osztály</option> <option value="b" selected>B osztály</option> </select> </td> </tr> <tr><td colspan="2" align="left"> Leírás: <tr><td colspan="2" align="center"> <textarea name="leiras" cols="30" rows="5">Ide kell beírni a leírást </textarea> <input type="submit" value="Elküld"> </table> </form> </body> </html>

81 Képernyő


Letölteni ppt "Fejlett Programozási Technikák 2."

Hasonló előadás


Google Hirdetések