Webové aplikace - 1. díl - HTML, HTTP a základ stavby webu
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Webové aplikace - 1. díl - HTML, HTTP a základ stavby webuWebové aplikace - 1. díl - HTML, HTTP a základ stavby webu

 
Hledat
Moderní platforma pro vytvoření vašeho nového webu – Wix.com.
Nyní už můžete mít web zdarma.
Vytvořte si vlastní webové stránky. Snadno, rychle a levně přes Saywebpage.com
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Laser Game Ostrava

Webové aplikace - 1. díl - HTML, HTTP a základ stavby webu

Google       Google       21. 11. 2005       13 986×

První kapitola vám popíše základní jazyk a transportní protokol na webu a také vás v rychlosti seznámí se systémem, jímž jsou webové aplikace stavěny...

Reklama
Reklama
Základním údajem je fakt, že web je založen na jazyku HTML (a jeho nadstavbách DHTML, XHTML), dále na jazycích jako XML, CSS stylech (Cascading Style Sheets) a dynamickém programovacím jazyku přizpůsobeném pro web, PHP (Hypertext PreProcessor). Všechny tyto jazyky mají však něco, co je spojuje - pracují na bázi protokolu HTTP (HyperText Transfer Protocol).

Jazyk HTML


Tento vyjadřovací prostředek slouží hlavně pro prezentaci dat vaší aplikace. Ukazuje návštěvníkům vše, co chcete, aby viděli. Tento jazyk však skrývá i jisté nedostatky, na které nyní upozorním:
Existují tagy, jež mohou být při nesprávném použití zneužity. Ty jsou definovány tagem <INPUT>, což je uživatelský vstup. Nejčastěji zneužívaným druhem vstupu je takzvané "skryté pole", <INPUT TYPE=HIDDEN> které je mylně považováno za bezpečnou úschovnu informací, které nechcete klientům ukázat. Obsah této značky se sice v prohlížeči nezobrazí, ale je přenášena s ostatními INPUTY na jednom formuláři. Obsah může tedy jakýkoli klient jednoduše upravit a poslat upravený zpět na váš server.
Jazyku HTML, alespoň v jeho základní podobě, už však takřka "odzvonilo" a do popředí se dostávají jeho mutace, zejména pak XML (eXtensible Markup Language), jenž je na nejlepší cestě svého tatínka definitivně odstranit. Navíc obrovskou výhodou na webu je možnost jazyka PHP, jenž umožňuje dodávat na web plnohodnotné a velmi kvalitně zabezpečené programy.

Transportní protokol HTTP


K jeho základní charakteristice poznamenáme, že na vašem počítači pracuje nejraději na portu TCP 80, ale umí se přepojit na kterýkoli jiný. Využívá primitivního systému požadavek - odpověď. HTTP udává způsob vyslání požadavku na zdroj a ten jej vrací zpět, pokud je dostupný. Prostředkem k této komunikaci je URI, neboli Uniorm Resource Identifiers.
Ukážeme si příklad požadavku pomocí nástroje NetCat, jenž se nejdříve připojí na server a na jeho port TCP 80. Pak zadá primitivní požadavek "neco.html", který potvrdíme dvojím stisknutím Enteru. Server odpoví způsobem, který představuje úspěšné vrácení požadavku a předá data klientovi.

c:>nc -vv www.nejaka-domena.cz 80
www.nejaka-domena.cz [185.14.123.56] 80 (http) open
GET /nejaka-stranka.html HTTP/1.0
HTTP/1.1 200 OK Date: Thu, 17 Nov 2005 15:25:45 Server: Apache/1.3.22 (Unix) Connection: close Connect-type: text/html
Jak vidíte, spuštění jednoho dotazu na server je primitivní, ale odhalí poměrně cenné informace. Odpověď odkryla přesný typ serveru, který doména používá a používaný operační systém.
Další důležitou vlastností protokolu HTTP je, že je bezstavový, tzv. není zde udržován "stav relace". Pokud vyšlete několik požadavků na stejný zdroj, server považuje každý z nich za samostatný a jedinečný.
Tato chyba je upravena pomocí souborů cookie. Ty upravují HTTP, téměř jako by byl stavový. Cookies však nejsou naprosto dokonalé, zvláště jsou-li špatně implementovány. Navíc dochází k problémům a sporům v osobním soukromí uživatelů, kteří jsou pomocí Cookies identifikováni. Pak je protokol HTTP založen na ASCII kódování, které je zaznamenáváno formou textu, takže není problém kód přečíst bez nutnosti dekódování.
Vyjímkou je použití protokolu SSL/TLS(Secure Socket Layer/Transport Layer Security). Ten šifruje transportní vrstvu. Nedělá však již nic jiného, než že zabraňuje, nebo spíše znesnadňuje odposlouchávání komunikace klient - server.
TLS je verzí SSl a používá port TCP 443.
Zvláštním typem protokolu je tzv. ověřování. HTTP využívá k ověřování nejčastěji tyto protokoly:

Basic - Jméno uživatele a heslo jsou zapsány ve snadno dekódovatelné šifře zvané Basic-64, která je zapsána v podobě textu.
Digest - Narozdíl od Basicu nelze hesla získat ve formě psaného textu.
Pomocí formuláře- Formulář je zpracováván na straně serveru a využívá souboru cookie pro sledování stavu "přihlášen".
Klientské certifikáty - Málo používaný. Protokol SSL/TLS kontroluje pravost digitálního certifikátu.

Ověřovací protokoly od Microsoftu
NTLM- Implementováno v hlavičkách HTTP, kde se používá již zmíněného systému požadavek - odpověď.
Microsoft Passport - Mechanizmus využívá klíč sdílený mezi firmou Microsoft a partnerským serverem.
Negotiate neboli vyjednávání - Klient a server se dynamicky dohodnou na kterémkoli protokolu ze seznamu Basic, Digest, ověřovací formulář, NTLM a Kerberos pro MS IE 5 a vyšší.

Další protokoly


Kromě nebezpečně jednoduchého HTTP, který je schopen komunikace pouze na bázi ASCII se používá protokol MIME (Multipart Internet Mail Extensions) pro přenos binárních dat. Webové aplikace dále používají protokol SMTP pro el. poštu nebo FTP pro přenos souborů. Dalším protokolem je pak WebDAV (Web Distributed Authoring and Versioning). Ten však využívá zápisu dat přímo na server, což, dle mnoha odborníků, není dobrý nápad.

Základ webové stavby


Nyní si představte svoji webovou aplikaci jako obrovský dům, jenž má libovolné množství pater. Představte si hackera jako zloděje, jenž se snaží ukrást drahocenný obraz ze svrchního patra domu. Zloděj samotný zde představuje požadavek na váš web. Nejdříve ho k vám vyšle jeho šéf, jenž představuje webového klienta. Cestě, kterou zloděj urazí, než se k vám dostane, říkáme přenos požadavku. Dorazí k bráně vaší parcely. To je první překážka. V tomto světě se nazývá webový server. V případě, že je zamčená, pokusí se ji přelézt, obejít. Vy však už při stavbě máte možnost předejít tomu, aby se zloděj vůbec dostal za bránu, za první zeď. Stačí bránu opatřit kvalitním zámkem a zeď postavit dostatečně vysokou a stabilní, případně její vrchol opatřit ostnatým drátem :-) K tomu se však ještě dostaneme.
Pokud se zloděj dostane na váš pozemek, dojde ke dveřím domu. Ty musí být v každém případě zamčené na dva západy! Váš samotný dům představuje webovou aplikaci, která už je velmi citlivá. Jak si později řekneme, musíte si dát obrovský pozor na všechna okna v přízemí. Musí být zavřená a zajištěná. V takovém případě se nemůže nic stát. Pokud však máte aplikaci nezajištěnou, zloděj má téměř vyhráno. Vyjde do patra, v němž je onen obraz, který je uložen v galerii se spoustou dalších drahých obrazů. Této pomyslné galerii zde říkáme databáze a obrazy jsou data.
Pokud se zloděj napojí na databázi, dílo je dokonáno. Má přístup k datům uloženým na server, mnohdy velmi citlivým. Pokud máte například na svém webu přihlašovací mechanismus, hacker vidí data, jež jsou přístupná pouze autorizovaným osobám, jako jsou telefonní čísla přihlášených nebo dokonce, v nějaké firmě, mnohem choulostivější typy informací.

Další upozornění: Buďte opatrní na takzvané "sociotechnické inženýrství". Zloděj přijde k domu, zazvoní, řekne, že je od pojišťovny a vy ho pustíte do galerie. Ošidně jednoduchý způsob hackingu, ale překvapivě účinný. Dávejte si pozor a nevěřte nikomu, u koho nemáte stoprocentní jistotu, že je to opravdu správce hostingu, opravář HW a tak dále. Správně provedený sociotechnický útok dokáže být stejně účinný jako ten technický.
To je k první kapitole vše. V té další se podíváme výrazně blíže na svůj "dům".

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
Autor se zajímá o bezpečnost sítí a systémů a o hacking.

Nové články

Obrázek ke článku Jak na push notifikace pro backend vývojáře

Jak na push notifikace pro backend vývojáře

Obě hlavní mobilní platformy, tedy Android i iOS, podporují posílání zpráv z backendu do mobilního zařízení formou push notifikace. V 99% případů se jedná o jedinou správnou cestu, jak aplikaci ze serveru poslat nějaká data - spolehlivé a rychlé push notifikace optimalizované na spotřebu baterie. Tento článek se věnuje pouze službě Firebase Cloud Messaging, která je vlastněná Googlem

Reklama
Reklama
Obrázek ke článku Předvídání extrémních výkyvů počasí v Evropě bude přesnější díky novému počítači Atos BullSequana

Předvídání extrémních výkyvů počasí v Evropě bude přesnější díky novému počítači Atos BullSequana

Předpověď na 15 dní dopředu s přesným rozlišením 10 km dokáže superpočítač zpracovat za méně než hodinu. Společnost Atos, světový lídr v oblasti digitální transformace, dodá Evropskému středisku pro střednědobé předpovědi počasí (ECMWF) nový superpočítač BullSequana XH2000, který je jedním z nejsilnějších meteorologických superpočítačů na světě. 

Obrázek ke článku 18+ věcí, které by měl dobrý iOS vývojář zvládat

18+ věcí, které by měl dobrý iOS vývojář zvládat

Začátky jsou vždy v každém oboru nejtěžší a hodně času zabere se vůbec v tématu zorientovat. Jinak tomu není i pří vývoji na iOS zařízení. Proto jsme vytvořili článek pro ty, kteří své znalosti teprve budují. Tento krátký dokument shrnuje, co potřebuje každý iOSák znát.

Obrázek ke článku V přechodu na DVB-T2 tápou především senioři. Přeladit jim pomáhají vnoučata, zapojí se i stát

V přechodu na DVB-T2 tápou především senioři. Přeladit jim pomáhají vnoučata, zapojí se i stát

Už na konci měsíce může zůstat část Čechů bez televizního signálu. Vypínání stávající sítě začne již 27. listopadu v Praze a středních Čechách a do poloviny roku 2020 čeká přechod na nový standard pozemního digitálního televizního vysílání DVB-T2 celou republiku. K naladění nového televizního vysílání musí řada lidí nakoupit modernější zařízení, upravit antény nebo přejít na kabelové či internetové vysílání. 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý