Koláčky, sezení. Martin Klíma

Podobné dokumenty
test_form.html, all_request_vars.php

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);

Internet cvičení. ZS 2009/10, Cvičení 4., PHP. Tomáš Pop. DISTRIBUTED SYSTEMS RESEARCH GROUP

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

Úvod do aplikací internetu a přehled možností při tvorbě webu

Protokol HTTP 4IZ228 tvorba webových stránek a aplikací

Úvod do tvorby internetových aplikací

Zranitelnosti webových aplikací. Vlastimil Pečínka, Seznam.cz Roman Kümmel, Soom.cz

Principy fungování WWW serverů a browserů. Internetové publikování

Instalace a konfigurace web serveru. WA1 Martin Klíma

Šifrování Autentizace Bezpečnostní slabiny. Bezpečnost. Lenka Kosková Třísková, NTI TUL. 22. března 2013

BI-AWD. Administrace Webového a Databázového serveru Virtualizace HTTP serveru

Střední odborná škola a Střední odborné učiliště, Hořovice

Programování v jazyce JavaScript

Programování v jazyce JavaScript

Internet WEB stránky HTML, Hypertext MarkUp Language - nadtextový jazyk - Místo příkazů obsahuje tagy - značky

PHP a Large Objecty v PostgreSQL

Aplikační vrstva. Úvod do Php. Ing. Martin Dostal

WWW technologie. HTTP protokol

Programování v jazyku C# II. 8.kapitola

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Co nového přináší PHP4. Jiří Kosek

C6 Bezpečnost dat v Internetu. 2. HTTP komunikace 3. HTTPS komunikace 4. Statistiky

1 Webový server, instalace PHP a MySQL 13

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Úvod Jednoduchá komunikace Sockety Konec. Programování v C# Síťová komunikace. Petr Vaněček 1 / 33

HTTP: Hyper Text Transfer Protocol

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

Kurz LSL skriptování. Shiny Iceberg 2009

1. Webový server, instalace PHP a MySQL 13

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

PHP a bezpečnost. nejen veřejná

Problémy aplikace On-line testů a jejich řešení. Autor: Ing. Lukáš Trombik

Artlingua Translation API

WWW a HTML. Základní pojmy. Ivo Peterka

Programování v jazyce JavaScript

Od CGI k FastCGI. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.

17. července :51 z moravec@yahoo.com

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

HTTP protokol. HTTP protokol - úvod. Zpracoval : Petr Novotný novotny0@students.zcu.cz

BI-AWD. Administrace Webového a Databázového serveru Úvod do problematiky HTTP serveru

Tvorba webu. Úvod a základní principy. Martin Urza

Tvorba webových stránek

Programování v jazyce JavaScript

Webové Aplikace (6. přednáška)

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. November 16, 2017

Programování v jazyce JavaScript

Programování v jazyce JavaScript

Skriptovací jazyky. Obsah

INFORMAČNÍ SYSTÉMY NA WEBU

Formuláře. Aby nám mohli uživatelé něco hezného napsat třeba co si o nás myslí!

Nahrání webu na internet

Informační systémy 2008/2009. Radim Farana. Obsah. Aktivní serverové stránky ASP. Active Server Pages. Activex Data Objects. LDAP database.

Služba World Wide Web

Dokumentaci k semestrální úloze z předmětu Internet a WWW (X36WWW)

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

Internet cvičení. ZS 2009/10, Cvičení 3., Tomáš Pop. DISTRIBUTED SYSTEMS RESEARCH GROUP

Testování webových aplikací Seznam.cz

Internet 2 css, skriptování, dynamické prvky

Zabezpečení web aplikací

Jazyk C# (seminář 5)

PHP. Čtvrtek 8. září. Čtvrtek 15. září. Anonymní test znalostí

Web. Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče

Pánem World Wide Webu! aneb povídání o chybě hloupé tak, až to bolí

Počítačové sítě II. 18. World Wide Web, HTTP Miroslav Spousta,

Pear - hruška Systém pro implementaci a distribuci znovupoužitelných komponent (v PHP) Strukturovaná knihovna open-source (PHP) skriptů Systém pro dis

1. Distribuce Javy. 2. Vlastnosti J2EE aplikace. 3. Fyzická architektura J2EE aplikace. Distribuce Javy se liší podle jejího zamýšleného použití:

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

Měření konverzí na SROVNAME.CZ návod k nasazení

.password xklima:$apr $l sbbajg$ruuy FCr urjfjsvlehsf/ Přídání hesla htpasswd.exe -c c:\www_root\vyuka\autentizace\apache\.

Rezervační systém Tvorba WWW stránek

Bottle -- příklad. Databáze. Testovací data. id Jedinečný identifikátor řádku: Bude typu INT s AUTO_INCREMENT a nastavíme ho jako primární klíč

HTTP protokol. Zpracoval : Petr Novotný

Reranking založený na metadatech

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

Identifikátor materiálu: ICT-3-10

VISUAL BASIC. Práce se soubory

Programování v jazyce JavaScript

Technická specifikace

Úvod do informatiky 5)

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Uživatelské příkazy: false - dialog ukončen IDCANCEL. Vytvoří nové okno. title - titulek okna

Střední odborná škola a Střední odborné učiliště, Hořovice

Útoky na HTTPS. PV210 - Bezpečnostní analýza síťového provozu. Pavel Čeleda, Radek Krejčí

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

Případová studie: Adresářové řešení pro webhosting pomocí ApacheDS. Lukáš Jelínek

Programování v jazyce JavaScript

Výjimky a ošetřování chyb v PHP. Who is General Failure and why is he reading my disk?!

Vývoj Internetových Aplikací

Cross- Site Request Forgery

Základy HTML, URL, HTTP, druhy skriptování, formuláře

Hitparáda webhackingu nestárnoucí hity. Roman Kümmel

HTML XHTML JavaScript PHP ASP.Net Zajímavé odkazy

Metody zabezpečeného přenosu souborů

Bezpečnost webových aplikací


Obsah. Úvodem 9. Kapitola 1 Než začneme 11. Kapitola 2 Dynamické zobrazování obsahu 25. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10

RESTful API TAMZ 1. Cvičení 11

Transkript:

Koláčky, sezení Martin Klíma

UDRŽOVÁNÍ STAVU APLIKACE

Udržování stavu aplikace 1. Pomocí skrytých polí (viz příklad wizard) 2. Pomocí obohacování odkazů 3. Pomocí cookies 4. Pomocí sessions

Obohacování odkazů Veškeré odkazy z dokumentu budou obohaceny o identifikátor s daty sezení Není to moc elegantní Může to selhat Pokud se děje automaticky, náročné na výkon <a href="dalsi_stranka.php">další stránka</a> <form action="obsluha.php" method="post"> </form> <a href="dalsi_stranka.php?session_id=xxx">další stránka</a> <form action="obsluha.php?session_id=xxx" method="post"> </form>

Cookie Informace uložená u klienta Posílá jí server Jen ten, kdo ji poslal, ji může opět přečíst Lokální DB cookies Client 1 GET / Server 2 PHP: setcookie( name, Franta ); HTTP/1.0 200 OK Set-Cookie: jmeno=franta jmeno: Franta 3 GET / Cookie: jmeno=franta PHP: $jmeno = $_COOKIE[ jmeno ];

Pomocí cookies Informace uložená serverem na klientovi Klient posílá tuto informaci zpět pokud URI spadá do vymezeného rozsahu Doména odpovídá Nevypršela platnost Je zaručena odpovídající bezpečnost Využití: Počítadlo přístupů Další statistiky Udržování stavu aplikace

Signatura funkce setcookie setcookie ( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ] ]]]]] ) Unix timestamp, pokud 0, pak do konce života prohlížeče Omezení jen na určenou cestu (adresář), např. /galerie/ Zobecnění pro celou poddoménu, např. cvut.cz Pokud true, bude poslána jen přes https (bezpečný kanál) Pokud true, nebude dostupná pro JavaScript, to je bezpečnostní opatření.

Cookies <?php set_cookie.php pocitadlo.php setcookie("mojecookie1","hodnota1"); setcookie("mojecookie2","hodnota2");?> <!doctype html> <html> <head> <title>nastav Cookie</title> </head> <body> <p>tento skript nastaví cookie a přečte existující cookie.</p> <?php foreach ($_COOKIE AS $key=>$value) { echo "$key = $value <br>"; }?> </body> </html>

Výhody a omezení cookies Výhody Obchází bezestavovost http protokolu Je všude implementováno Nevýhody, omezení Zatěžuje komunikaci Klient posílá při každém dotazu, i když to server nepotřebuje Omezení na délku (4KB) Doporučuje se držet ji velmi malou Bezpečnostní riziko? Klient posílá jen to, co dostal. Ale někdy to může být považováno za důvěrnou informaci Data nejsou šifrovaná

Vylepšení / nadstavba cookies SESSIONS

Sessions Zjednodušení práce Podpora stavu Kombinace cookies a lokální databáze Klient 1. nastav cookie PHPSESSID=xyz Server PHP: session_start(); $_SESSION[ x ] = 5; xyz: $x=5; $y=7 PHPSESSIONID = xyz 2. pošli cookie PHPSESSID=xyz PHP: $x = $_SESSION[ x ];

Příklad SESSIONS sessions.php <? session_start(); $_SESSION['x'] = 5; $_SESSION['y'] = 7;?> <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <title>sessions</title> </head> <body> <p>tento skript vypise seznam session promennych.</p> <? foreach ($_SESSION AS $key=>$value) { echo "$key = $value <br>"; }?> </body> </html> Pozor na XSS

DB na serveru Ve výchozím stavu podle php.ini [Session] session.save_handler=files session.save_path="c:\xampp\tmp" Adresář C:\xampp\tmp.. sess_vkfa0df1ombhf63su9qkokfpk7 Serializované pole $_SESSION x i:5;y i:7;

Session lze ukládat i do DB Lze vnutit vlastní session_handler session_set_save_handler( array($handler, 'open'), array($handler, 'close'), array($handler, 'read'), array($handler, 'write'), array($handler, 'destroy'), array($handler, 'gc') ); Kde $handler je instance třídy SessionHandlerInterface

Dotazy? DĚKUJI ZA POZORNOST