Cookies. Tecnologie - Classe Quarta cookies

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Cookies. Tecnologie - Classe Quarta cookies"

Transcript

1 Cookies Rev Digitale 1.3 del 06/12/2018 Il protocollo HTTP è un protocollo stateless, ovvero dopo ogni richiesta di una pagina da parte del browser, il server dimentica l identità del mittente. La soluzione a questo problema consiste nell utilizzo dei, ovvero dei biscotti che il server può intingere nel client per salvare piccole informazioni. Il meccanismo dei consente ad un browser di memorizzare piccole parti di informazioni sul computer client in modo che possano poi essere riutilizzate per le richieste successive. Questo meccanismo permette di distinguere i diversi client che consultano la stessa pagina web. Sulla base dei ricevuti, il server è in grado di riconoscere un browser che ha già inviato richieste precedenti. Notare che questo meccanismo, da solo, non è sufficiente per identificare l utente. Lo stesso utente potrebbe infatti collegarsi oggi da una certa postazione domani da una postazione differente. Il cookie viene normalmente creato dal server, che deve inserirlo manualmente all interno dell intestazione della http response ed inviarlo al client insieme alla pagina richiesta. Il client, ricevuta la pagina, provvede automaticamente a leggere il cookie e a memorizzarlo all interno dell oggetto document.cookie, suddividendoli per dominio. Quando poi il browser richiede una nuova pagina (o un servizio ajax) al server di quel dominio, provvede automaticamente ad inviare al server tutti i relativi a quel dominio, inserendoli all interno della header della http request. Il server dovrà andarli a leggere manualmente. Lettura e scrittura dei lato server devono sempre essere eseguiti manualmente, cioè tramite apposite istruzioni. Tecnicamente un cookie consiste in un collezione di variabili in formato chiave valore ed è caratterizzato da un tempo di vita (impostato al momento della creazione ed eventualmente aggiornato in corrispondenza di successive richieste) che indica il tempo di vita del cookie sul computer client. Se non si assegna una scadenza al cookie (oppure si assegna expire=0) il cookie viene mantenuto nella memoria del browser per l intera sessione corrente, ma viene rimosso in corrispondenza della chiusura del browser stesso. Se si assegna invece una specifica scadenza, il browser, in corrispondenza della chiusura, provvede a salvare il cookie su disco. Quando viene riaperto, il browser provvede automaticamente a leggere tutti i cookie validi memorizzati sul file (rimuovendo automaticamente quelli scaduti) inviandoli al Server in tutte le successive richieste. Gestione dei Cookies lato client con Java Script In javascript lato client i vengono memorizzati all interno dell oggetto document.cookie in un formato che sembra essere una normale stringa, ma che in realtà non è così. Anche impostando tutti i vari campi del cookie (scadenza, dominio, path), quando si va a leggere il cookie si vedono soltanto il name ed il value del cookie separati da un uguale. Creazione di un cookie lato client Il cookie viene normalmente creato dal server ma può essere creato anche dal client andando a scrivere direttamente all interno di document.cookie document.cookie = cookie1=valore1 document.cookie = cookie2=valore2 Ogni volta che si crea un nuovo cookie andando a scrivere all interno di document.cookie, il nuovo cookie non sovrascrive i precedenti, ma viene concatenato all interno della stringa dei relativi al dominio corrente, utilizzando come separatore ;. Dunque nel caso di multipli la stringa che sarà visibile in lettura sarà la seguente: cookie1=valore1; cookie2=valore2 pag 1

2 La sintassi completa per la scrittura di un cookie è la seguente: document.cookie = nomecookie=valorecookie [; expires=datagmt] [;path=nomepercorso] [;dominio=nomedominio] valorecookie = Se contiene degli spazi, occorre filtrarlo mediante la funzione escape(s) expire = scadenza del cookie [default=0] Può essere espressa in due formati diversi: come data in formato UTC (dal 1/1/70). Esempio var date = new Date(); // crea un oggetto Date con la data corrente var msec = date.gettime() + 365*24*60*60*1000; date.settime(msec); document.cookie = nome=fred; expires= + date.toutcstring() Come offset (espresso in secondi) da aggiungere al timestamp corrente: var maxage = 60*60*24*3; // 3gg document.cookie = nome=fred; max-age=" + maxage; dominio = dominio / sottodominio di validità del cookie. vallauri.edu indica che il cookie è valido per l intero dominio vallauri.edu e per tutti i suoi sottodomini (es didattica.vallauri.edu). Cioè il browser ritornerà il cookie al server solo se la risorsa richiesta appartiene al sottodominio indicato [default=intero dominio della pagina corrente] path = percorso di validità del cookie. Cioè il browser ritornerà il cookie al server solo se la risorsa richiesta soddisfa il path medesimo. Nel path sono incluse anche tutte le sottocartelle. / significa intero dominio. /docs significa che il cookie dovrà essere ritornato dal browser soltanto per quelle richieste che riguardano la sottorisorsa /docs e tutte le se sue sottorisorse. [default = /] Questi ultimi due parametri vengono in genere affidati alla gestione predefinita del browser che, al momento della creazione del cookie, provvede automaticamente a settarli e poi a scriverli su disco Lettura di un cookie lato client Anche se normalmente non serve farlo (perché la gestione è automatica), lato client è comunque possibile andare a leggere direttamente l oggetto document.cookie il quale restituisce una stringa contenente tutte le coppie nome / valore memorizzate nel browser (relativamente al dominio corrente) e suddivise da punto e virgola seguito da spazio Per recuperare le singole informazioni si può utilizzare il seguente codice function leggicookie(key){ var valorecookie = ; if(document.cookie){ var = document.cookie.split("; "); for (var i=0; i<.length; i++){ let cookie = [i].split("="); if (cookie[0]==key){ valorecookie = cookie[1]; break; return valorecookie; Cancellazione di un cookie Per cancellare un cookie è sufficiente impostare una data di scadenza antecedente a quella corrente pag 2

3 HTTP Headers I vengono trasmessi come normali intestazioni http inserite sia nelle HTTP Request che nelle HTTP Response. LATO SERVER (nodejs) Scrittura degli headers sull oggetto HTTP Response I metodi preposti per leggere / scrivere le header dell oggetto response sono rispettivamente.getheaders().getheadernames().hasheader(name).getheader(name).setheader(name, value).removeheader(name) La header preposta alla scrittura dei sull oggetto Response si chiama set- Esempi: response.setheader('authorization', token); response.setheader('set-cookie', "token="+token) Scansione delle response header: var headers= response.getheaders(); for(let key in headers){ console.log(key + " -> " + headers[key] ) Esempio di visualizzazione: set-cookie -> token=eyjhbgcioijiuzi1niisinr5cci6ikpxvcj9 Lettura degli headers dall oggetto HTTP Request I metodi preposti per leggere / scrivere le header dell oggetto request sono rispettivamente.headers property contenente l elenco delle headers.getheader(name).setheader(name, value).removeheader(name) La header preposta alla lettura dei dall oggetto Request si chiama semplicemente cookie Esempi: if(request.headers && request.headers.authorization){ var token=request.headers.authorization; var token=request.headers.cookie; Scansione delle request header: var headers= request.headers; for(let key in headers){ console.log(key + " -> " + headers[key] ) pag 3

4 Esempio di visualizzazione degli headers di una http request: host -> localhost:1337 connection -> keep-alive pragma -> no-cache cache-control -> no-cache accept -> application/json, text/javascript, */*; q=0.01 x-requested-with -> XMLHttpRequest user-agent -> Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/ (KHTML, like Gecko) Chrome/ Safari/ content-type -> application/json; charset=utf-8 referer -> accept-encoding -> gzip, deflate, br accept-language -> it-it,it;q=0.9,en-us;q=0.8,en;q=0.7 cookie -> token=eyjhbgcioijiuzi1niisinr5cci6ikpxvcj9 Visualizzazione degli headers sull inspector di Chorme Finestra Network / Pulsantino All. Selezionare nell elenco inferiore il nome della richiesta che si intende analizzare Lettura / Scrittura dei Riassumendo quanto già scritto sopra: Lettura Il server, ricevuta una richiesta http (richiesta di pagina html oppure richiesta ajax), può andare a leggere gli eventuali all interno di request.headers.cookie che è una collezione del tutto analoga a document.cookie disponibile lato client. La procedura di lettura di un singolo cookie è la stessa utilizzata lato client sostituendo document.cookie con request.headers.cookie Scrittura Il server può andare a scrivere una cookie per volta direttamente all interno dell intestazione http dell oggetto response, prima di inviare la risposta al client. let sec=60*60*24*7; // 7 gg response.setheader("set-cookie", "cookie1=valore1;max-age="+sec); response.setheader("set-cookie", "cookie2=valore2;max-age="+sec); LATO Client Mentre la lettura / scrittura dei viene fatta in automatico dal browser, la lettura / scrittura di un normale HTTP Header deve essere eseguita manualmente dal programma nel modo seguente: Scrittura Lato client il metodo javascript preposto alla scrittura degli headers sull oggetto Request si chiama setrequestheader. Nel caso di chiamata Ajax, gli eventuali headers possono essere scritti dal client sull oggetto Request direttamente all interno di $.ajax beforesend: function(request) { let token = leggicookie("token") if (token!= "") request.setrequestheader("authorization", token);, pag 4

5 Lettura Il metodo client preposto alla lettura degli headers ritornati dal server si chiama getresponseheader request.done(function(data, textstatus, request){ var token = request.getresponseheader('authorization') let date = new Date(); let msec = date.gettime() *60*60*24*7; //7gg date.settime(msec); document.cookie="token="+token+";expires="+date +";" ); Gestione dei nelle chiamate Ajax Riguardo ai, anche nel caso di chiamate ajax il server può aggiungere eventuali all interno dell intestazione http esattamente come visto in precedenza. Però in questo caso, per ragioni di sicurezza, i non sono accessibili in java script ma sono accessibili soltanto dal browser. Vengono settati lato server con un path differente rispetto al path=/ impostato di default nei di pagina. Probabilmente viene usato il path della risorsa richiesta, ma questa informazione non è accessibile da javascript e nemmeno sembra possibile visualizzarla nell inspector di Chrome Pertanto i ricevuti tramite una Ajax response NON vengono copiati all interno di document.cookie, ma vengono gestiti automaticamente dal browser in modo del tutto trasparente, rimanda automaticamente al server in corrispondenza della prossima chiamata. Se però un browser invia al server sia richieste di pagine html, sia richieste ajax, nasce un problema: quando il server invia al client tramite ajax un cookie aggiornato, questo cookie, come detto sopra, non viene salvato dal browser all interno di document.cookie, ma viene memorizzato in un path differente probabilmente più specifico. Quando poi il browser invierà una richiesta ajax al server invierà al server sia i relativi al documento (quelli memorizzati all interno di document.cookie), sia quelli relativi ai servizi ajax per cui se entrambi hanno un cookie chiamato token, il client ne invierà due creando confusione lato server. Notare che: Le richieste relative alle pagine inviano solo i relativi alle pagine, (quelli memorizzati dentro document.cookie) e non inviano quelli più specifici relativi alle risorse ajax Le richieste ajax inviano invece sia i con path più specifico relativi ad ajax (che vengono inviati per primi), sia i relativi al sito (memorizzati all interno di document.cookie)che avendo path=/ vengono ugualmente spediti (in coda a quelli precedenti). Il server dovrebbe utilizzare sempre il cookie più aggiornato. In corrispondenza della prima chiamata ajax quello più aggiornato è quello di pagina appena caricata, mentre in corrispondenza del refresh pagina (dopo aver utilizzato dei servizi) quello più aggiornato è quello relativo all ultima chiamata ajax. La possibili soluzioni sono 2: 1) Lato server trasmettere i di pagina all interno degli headers set-cookie e cookie, e trasmettere invece i ajax all interno dell header authorization. Tutti i ricevuti dal server tramite authorization devono essere salvati localmente all interno di document.cookie in modo da poter essere utilizzati anche nelle eventuali successive richieste di pagine Tutte le richieste ajax, prima di essere inviate al server, dovranno andare a leggere il cookie all interno di document.cookie in modo che, se l ultima richiesta era stata una richiesta di pagina, venga inviato il cookie aggiornato 2) Lato server, in corrispondenza della risposta alla chiamata ajax, impostare sul cookie il campo Path=/ (da impostare per sicurezza anche sul cookie di pagina) in modo che i due abbiano lo stesso Path ed il browser provveda a sovrascrivere il cookie di pagina con il cookie ajax pag 5

6 Gestione dei Cookies lato server con PHP Creazione e invio di un cookie dal server al client setcookie($name, $value, $expire, $path, $domain, $secure, $httponly); Solo il primo parametro è obbligatorio. Gli altri sono tutti facoltativi. La funzione ritorna false in caso di errore, true in caso di ok, che comunque non significa che il client accetterà il cookie. Esempio: $name = user ; $value = pippo ; $expire = time() + (86400 * 30); // 30 giorni. $path = / ; = 60*60*24 = 1 giorno $name = nome del cookie $value = valore [default=undefined] $expire = scadenza del cookie espressa come data di scadenza (in secondi dal 1/1/70) [default=0] $path e $dominio = sono gli stessi già discussi in precedenza $secure = true / false, true indica che il cookie verrà trasmesso SOLO su connessioni https $httponly = true / false, true indica che il cookie sarà accessibile SOLO attraverso i protocolli http / https e quindi non da javascript. Migliora la sicurezza Lettura dei ritornati dal client: Il vettore $_COOKIE Lato PHP i inviati dal client al server sono accessibili all interno del vettore associativo $_COOKIE, al quale si può accedere tramite la solita sintassi dei vettori associativi: if(isset($_cookie[$cookie_name])) echo "The value of cookie '$cookie_name' is". $_COOKIE[$cookie_name]; else echo "Cookie '$cookie_name' is not set!"; Modifica di un Cookie: E sufficiente riscriverlo utilizzando lo stesso name: setcookie("color", "red"); setcookie("color", "blue"); Cancellazione di un Cookie sul server unset($_cookie["mycookie"]); // or setcookie("mycookie", "myvalue", time()-1); Cookie Vettoriali E anche possibile creare vettoriali aggiungendo semplicemente [ ] dopo il nome del cookie. setcookie("vetcookie[]", "[pippo, pluto, minnie]", time()+60, "/"); if(isset($_cookie["vetcookie"])) echo "The value of cookie is ". implode(" ", $_COOKIE["vetCookie"]); In alternativa è possibile assegnare al cookie singolo un json serializzato. pag 6

Applicazioni web. Sommario. Parte 4 http. http Metodi, intestazioni e codici di stato get post Parametri e cookie. Applicazioni web.

Applicazioni web. Sommario. Parte 4 http. http Metodi, intestazioni e codici di stato get post Parametri e cookie. Applicazioni web. Parte 4 http Sommario http Metodi, intestazioni e codici di stato get post Parametri e cookie 1 Http Hyper Text Transfer Protocol Protocollo di livello applicazione per sistemi informativi distribuiti,

Dettagli

PHP 4. Conservazione dello stato

PHP 4. Conservazione dello stato PHP 4 Conservazione dello stato Conservazione dello stato HTTP è STATELESS, ovvero ogni richiesta genera un processo che ha il compito di servire un file e poi viene eliminato Ogni richiesta è sostanzialmente

Dettagli

Tecnologie e applicazioni web JSON Web Token (JWT)

Tecnologie e applicazioni web JSON Web Token (JWT) Tecnologie e applicazioni web JSON Web Token (JWT) Filippo Bergamasco ( filippo.bergamasco@unive.it) http://www.dais.unive.it/~bergamasco/ DAIS - Università Ca Foscari di Venezia Anno accademico: 2017/2018

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Cookie e gestione delle sessioni con PHP Anno accademico 2017-2018 Paolo Perlasca Parte di questi lucidi è tratta da una versione precedente di Marco Mesiti, Stefano Valtolina,

Dettagli

Parte 6 JSON, Web Storage API, funzioni JavaScript e user script

Parte 6 JSON, Web Storage API, funzioni JavaScript e user script Sapienza Università di Roma corso di laurea in Ingegneria informatica e automatica Linguaggi e tecnologie per il Web a.a. 2018/2019 Parte 6 JSON, Web Storage API, funzioni JavaScript e user script Riccardo

Dettagli

WEB: Architettura Client Server

WEB: Architettura Client Server Il WEB ed HTTP WEB: Architettura Client Server richiesta pagina client pagina server Prof. Carlo Blundo Tecnologie di Sviluppo per il WEB 2 Le Pagine Web Consistono di istruzioni (marcatori) HTML Memorizzate

Dettagli

Tito Flagella - Il protocollo HTTP

Tito Flagella - Il protocollo HTTP Tito Flagella - tito@link.it Il protocollo HTTP Il protocollo HTTP È il protocollo standard tramite il quale i server Web rispondono alle richieste dei client (inizialmente i browser); È basato su un modello

Dettagli

Tecnologie e applicazioni web Cookies

Tecnologie e applicazioni web Cookies Tecnologie e applicazioni web Cookies Filippo Bergamasco ( filippo.bergamasco@unive.it) http://www.dais.unive.it/~bergamasco/ DAIS - Università Ca Foscari di Venezia Anno accademico: 2017/2018 Da stateless

Dettagli

Mantenimento dello stato

Mantenimento dello stato Mantenimento dello stato Laboratorio Progettazione Web AA 2010/2011 Claudio Lucchese / Chiara Renso ISTI- CNR claudio.lucchese@isti.cnr.it Abbiamo visto come il passaggio di informazioni (parametri) tra

Dettagli

AJAX. Asynchronous JavaScript and XML

AJAX. Asynchronous JavaScript and XML AJAX Asynchronous JavaScript and XML AJAX Lo sviluppo di applicazioni HTML con AJAX si basa su uno scambio di dati in background fra web browser e server, che consente l'aggiornamento dinamico di una pagina

Dettagli

Parte II: Reti di calcolatori Lezione 7 (31)

Parte II: Reti di calcolatori Lezione 7 (31) Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2017-18 Pietro Frasca Parte II: Reti di calcolatori Lezione 7 (31) Martedì 27-03-2018 1 Messaggio di

Dettagli

Mantenimento dello stato

Mantenimento dello stato Mantenimento dello stato Laboratorio Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR - c.renso@isti.cnr.it Abbiamo visto come il passaggio di informazioni (parametri) tra le pagine possa avvenire

Dettagli

Parte 6 JSON, Web Storage API, funzioni JavaScript e user script

Parte 6 JSON, Web Storage API, funzioni JavaScript e user script Sapienza Università di Roma corso di laurea in Ingegneria informatica e automatica Linguaggi e tecnologie per il Web a.a. 2017/2018 Parte 6 JSON, Web Storage API, funzioni JavaScript e user script Riccardo

Dettagli

JavaScript. Caratteristiche del JavaScript. Javascript consente di rendere dinamiche le pagine HTML

JavaScript. Caratteristiche del JavaScript. Javascript consente di rendere dinamiche le pagine HTML JavaScript Caratteristiche del JavaScript Javascript consente di rendere dinamiche le pagine HTML Javascript è un linguaggio di programmazione con il quale è possibile produrre applicazioni eseguibili

Dettagli

AJAX. Riccardo Rosati

AJAX. Riccardo Rosati AJAX Riccardo Rosati Linguaggi e tecnologie per il Web Corso di laurea in Ingegneria informatica e automatica Sapienza Università di Roma a.a. 2016/2017 http://www.dis.uniroma1.it/~rosati/lw/ AJAX AJAX

Dettagli

Il linguaggio PHP. Elementi base

Il linguaggio PHP. Elementi base Il linguaggio PHP Elementi base Il Linguaggio PHP PHP è un acronimo ricorsivo che sta per PHP Hypertext Preprocessor Sintassi di base: un blocco di scripting PHP può stare ovunque in un documento, inizia

Dettagli

Il linguaggio PHP. Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati

Il linguaggio PHP. Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati Programmazione Web Il linguaggio PHP Il nostro obiettivo Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati Accedere ai dati inseriti dall utente nei

Dettagli

Sicurezza delle applicazioni web: protocollo HTTP

Sicurezza delle applicazioni web: protocollo HTTP Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2010/2011 Sicurezza delle applicazioni web: protocollo HTTP Alessandro Reina, Aristide Fattori 05 Maggio

Dettagli

Il protocollo HTTP (cont.)

Il protocollo HTTP (cont.) Il protocollo HTTP (cont.) Corso di Applicazioni Telematiche A.A. 2008-09 Lezione n.2 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria HTTP: Response La risposta

Dettagli

AJAX. Riccardo Rosati

AJAX. Riccardo Rosati AJAX Riccardo Rosati Linguaggi e tecnologie per il Web Corso di laurea in Ingegneria informatica e automatica Sapienza Università di Roma a.a. 2017/2018 http://www.dis.uniroma1.it/~rosati/lw/ AJAX AJAX

Dettagli

Raccolta e memorizzazione dei dati immessi nei moduli dai visitatori

Raccolta e memorizzazione dei dati immessi nei moduli dai visitatori Raccolta e memorizzazione dei dati immessi nei moduli dai visitatori Raccolta e memorizzazione dei dati immessi nei moduli dai visitatori Per impostazione predefinita, i risultati dei moduli vengono salvati

Dettagli

JavaScript JavaScript Programmazione lato client JScript JavaScript ECMAScript

JavaScript JavaScript Programmazione lato client JScript JavaScript ECMAScript Programmazione lato client Netscape: Microsoft: JScript ECMAScript (ECMA-262) (European Computer Manufactures Association) Linguaggio di script interpretato con alcune caratteristiche Object Oriented HTTP

Dettagli

Programmazione lato client. JavaScript. Applicazioni di Rete M. Ribaudo - DISI. JavaScript

Programmazione lato client. JavaScript. Applicazioni di Rete M. Ribaudo - DISI. JavaScript Programmazione lato client Netscape: Microsoft: JScript ECMAScript (ECMA-262) (European Computer Manufactures Association) 1 Linguaggio di script interpretato con alcune caratteristiche Object Oriented

Dettagli

Ajax e jquery. Emiliano Castellina. Dipartimento di Automatica e Informatica Politecnico di Torino

Ajax e jquery. Emiliano Castellina. Dipartimento di Automatica e Informatica Politecnico di Torino Ajax e jquery Emiliano Castellina Dipartimento di Automatica e Informatica Politecnico di Torino Introduzione a jquery by Emiliano Castellina is licensed under a Creative Commons Attribuzione - Non commerciale

Dettagli

PHP funzioni. Prof. Francesco Accarino

PHP funzioni. Prof. Francesco Accarino PHP funzioni Prof. Francesco Accarino Lavorare con le date Con php è possibile mostrare la data corrente(ora e/o giorno e/o mese e/o anno), sotto qualsiasi forma. La funzione chiave è date();. tabella

Dettagli

Esercizio 1 : HTTP. Soluzione Esercizio 1 : HTTP

Esercizio 1 : HTTP. Soluzione Esercizio 1 : HTTP Esercizio 1 : HTTP In the following you can find the content of an HTTP Request. Answer to the following questions, indicating where (e.g., in which field) in the HTTP Request you can find the answer:

Dettagli

POSTECERT POST CERTIFICATA GUIDA ALL USO DELLA WEBMAIL

POSTECERT POST CERTIFICATA GUIDA ALL USO DELLA WEBMAIL POSTECERT POSTEMAIL CERTIFICATA GUIDA ALL USO DELLA WEBMAIL Sommario Pagina di accesso... 3 Posta in arrivo... 4 Area posta... 5 Scrivi un nuovo messaggio... 5 Selezione ricevuta di consegna... 5 Inserimento

Dettagli

Corso di PHP. Prerequisiti. 6.2 PHP e il web 2. Conoscenza HTML Tecnica della programmazione Principi di programmazione web

Corso di PHP. Prerequisiti. 6.2 PHP e il web 2. Conoscenza HTML Tecnica della programmazione Principi di programmazione web Corso di PHP 6.2 PHP e il web 2 1 Prerequisiti Conoscenza HTML Tecnica della programmazione Principi di programmazione web 2 1 Introduzione In questa Unità continuiamo con l illustrazione di alcune importanti

Dettagli

La connessione ai database MySQL tramite script PHP versione 5.5

La connessione ai database MySQL tramite script PHP versione 5.5 La connessione ai database MySQL tramite script PHP versione 5.5 Php è un linguaggio di scripting che estende le funzionalità del server Web, mentre MySQL è un programma server che si occupa della gestione

Dettagli

Ipertesto (testo + link a risorse)

Ipertesto (testo + link a risorse) Ipertesto (testo + link a risorse) testo a + dimensioni = che contiene informazioni di diverso "genere mediale" = indirizza a altri testi, immagini (statiche o mobili, ricevute tutte insieme o a lotti...),

Dettagli

Il protocollo HTTP. Caratteristiche del protocollo HTTP. Versioni del protocollo. Due tipologie di messaggi:

Il protocollo HTTP. Caratteristiche del protocollo HTTP. Versioni del protocollo. Due tipologie di messaggi: Caratteristiche del protocollo HTTP Scambio di messaggi di richiesta e risposta Transazione HTTP o Web Protocollo stateless Il protocollo HTTP Basato sul meccanismo di naming degli URI per identificare

Dettagli

Array. // utente pippo $utente1 = array( username => pippo, password => pippo123, ruolo => amministratore );

Array. // utente pippo $utente1 = array( username => pippo, password => pippo123, ruolo => amministratore ); Array Esercizio 1 Implementare un servizio che permetta il login di utenti ad un sistema e la possibilità di visualizzare articoli. Il servizio riceve in ingresso, tramite GET, l username e la password

Dettagli

Sommario. Introduzione a AJAX - Asynchronous Javascript And Xml. Motivazioni (1) XHTML e HTTP sono strumenti deboli

Sommario. Introduzione a AJAX - Asynchronous Javascript And Xml. Motivazioni (1) XHTML e HTTP sono strumenti deboli Sommario Introduzione a AJAX - Asynchronous Javascript And Xml Motivazioni Cosa è AJAX? Vantaggi Esempi Funzionamento Ajax 1 Ajax 2 Motivazioni (1) XHTML e HTTP sono strumenti deboli Scarsa interattività

Dettagli

A. Veneziani Altre funzionalità di PHP

A. Veneziani Altre funzionalità di PHP A. Veneziani Altre funzionalità di PHP Listing di directory Una funzionalità che può tornar utile in PHP è il listing delle directory ossia la capacità di elencare i nomi di tutti i files (e delle sottodirectories)

Dettagli

Wincc TIA Portal v14

Wincc TIA Portal v14 Wincc TIA Portal v14 All apertura il programma richiede di creare un nuovo progetto. Impostare il percorso desiderato (desktop) e selezionare CREA Step (1) Creazione di un nuovo dispositivo Una volta creato

Dettagli

IL LIVELLO APPLICAZIONI WEB e HTTP

IL LIVELLO APPLICAZIONI WEB e HTTP Parte II - Reti di Calcolatori ed Internet IL LIVELLO APPLICAZIONI WEB e HTTP 7-1 Applicazioni di Rete World Wide Web URL Web Client Web Server HTTP Futuro del Web 7-2 World Wide Web (WWW) Il World Wide

Dettagli

Reti di Calcolatori. IL LIVELLO APPLICAZIONI WEB e HTTP

Reti di Calcolatori. IL LIVELLO APPLICAZIONI WEB e HTTP Reti di Calcolatori IL LIVELLO APPLICAZIONI WEB e HTTP D. Talia RETI DI CALCOLATORI - UNICAL 7-1 Applicazioni di Rete World Wide Web URL Web Client Web Server HTTP Futuro del Web D. Talia RETI DI CALCOLATORI

Dettagli

IL LIVELLO APPLICAZIONI WEB e HTTP

IL LIVELLO APPLICAZIONI WEB e HTTP Reti di Calcolatori IL LIVELLO APPLICAZIONI WEB e HTTP D. Talia RETI DI CALCOLATORI - UNICAL 7-1 Applicazioni di Rete World Wide Web URL Web Client Web Server HTTP Futuro del Web D. Talia RETI DI CALCOLATORI

Dettagli

Guida all utilizzo dell app SUNmobile Docenti

Guida all utilizzo dell app SUNmobile Docenti Guida all utilizzo dell app SUNmobile Docenti!!1 SUNmobile Docenti disponibile per ios, Android e Web Descrizione SUNmobile Docenti è un app che consente ai docenti di inviare messaggi a determinati gruppi

Dettagli

2011 Politecnico di Torino 1

2011 Politecnico di Torino 1 Il nostro obiettivo Programmazione Web Il linguaggio PHP Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati Accedere ai dati inseriti dall utente nei

Dettagli

Programmazione Web D B M G. Il linguaggio PHP

Programmazione Web D B M G. Il linguaggio PHP Programmazione Web Il linguaggio PHP Il nostro obiettivo Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati Accedere ai dati inseriti dall utente nei

Dettagli

Introduzione ad HTTP WWW. Fabio Vitali

Introduzione ad HTTP WWW. Fabio Vitali Introduzione ad HTTP Introduzione Oggi esaminiamo in breve: HTTP (HyperText Transfer Protocol) Un protocollo stateless per la ricerca, il recupero e la manipolazione HTTP é un protocollo con la leggerezza

Dettagli

Il linguaggio PHP. Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati

Il linguaggio PHP. Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati Programmazione Web Il linguaggio PHP Il nostro obiettivo Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati Accedere ai dati inseriti dall utente nei

Dettagli

Parte II: Reti di calcolatori Lezione 6 (30)

Parte II: Reti di calcolatori Lezione 6 (30) Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2018-2019 Pietro Frasca Parte II: Reti di calcolatori Lezione 6 (30) Giovedì 21-03-2019 1 Servizi forniti

Dettagli

PHP ESSENTIALS #7. By WI400 Team. : array, sessioni

PHP ESSENTIALS #7. By WI400 Team. : array, sessioni PHP ESSENTIALS #7 By WI400 Team : array, sessioni arrays enumerativi associativi uso di arrays Array Gli array sono il modo più corretto per memorizzare una serie di dati correlati tra loro Soluzione migliore

Dettagli

Spiegazioni esercizio Gestione Tabella con PHP e MySQL

Spiegazioni esercizio Gestione Tabella con PHP e MySQL Spiegazioni esercizio Gestione Tabella con PHP e MySQL foglio_di_stile.css (foglio di stile esterno) Questo file contiene: 1. la struttura generale delle quattro pagine web dinamiche: index.php, inserisci.php,

Dettagli

Applicazioni web. Parte 8 AJAX

Applicazioni web. Parte 8 AJAX Applicazioni web Parte 8 AJAX Alberto Ferrari 1 AJAX - Definizione Asynchronous JavaScript and XML (AJAX) non è di per sè una tecnologia, ma è un termine che descrive un "nuovo" approccio all'utilizzo

Dettagli

Laboratorio Progettazione Web PHP e FORMs HTML - Lezione 8. Andrea Marchetti IIT-CNR 2011/2012

Laboratorio Progettazione Web PHP e FORMs HTML - Lezione 8. Andrea Marchetti IIT-CNR 2011/2012 Laboratorio Progettazione Web PHP e FORMs HTML - Lezione 8 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Architettura di una applicazione Web Browser Web HTTP Server Web Dati View Control

Dettagli

IL LIVELLO APPLICAZIONI WEB e HTTP

IL LIVELLO APPLICAZIONI WEB e HTTP Parte II - Reti di Calcolatori ed Internet IL LIVELLO APPLICAZIONI WEB e HTTP Applicazioni di Rete World Wide Web URL Web Client Web Server HTTP Futuro del Web 7-1 7-2 World Wide Web (WWW) Il World Wide

Dettagli

Livello applicazione. Fondamenti di Informatica

Livello applicazione. Fondamenti di Informatica Livello applicazione Fondamenti di Informatica Previously on Fondamenti di informatica Livello fisico Livello instradamento Network e Internetwork Protocollo IP Indirizzi IP Routing Client e server Server:

Dettagli

Parte II: Reti di calcolatori Lezione 6 (30)

Parte II: Reti di calcolatori Lezione 6 (30) Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Parte II: Reti di calcolatori Lezione 6 (30) Venerdì 24-03-2017 1 Messaggio di

Dettagli

1. (6 punti) Spiegare il significato, in modo dettagliato, del pezzo di codice seguente di una servlet:

1. (6 punti) Spiegare il significato, in modo dettagliato, del pezzo di codice seguente di una servlet: Università degli Studi di Camerino Corso di Laurea in Informatica A.A. 2015/2016 Prova Scritta di Programmazione Web, 21 Febbraio 2017 VIII Appello Docenti: Francesco Tiezzi e Luca Tesei Nome e Cognome:

Dettagli

Manuale d uso della Posta TBS. Oracle Collaboration Suite

Manuale d uso della Posta TBS. Oracle Collaboration Suite Manuale d uso della Posta TBS. Oracle Collaboration Suite Indice 1 Introduzione...3 2 Prerequisiti:...3 3 Accesso WEB...3 3.1 Come cambiare la propria password...8 4 Quota spazio su disco del mail server...9

Dettagli

Corso di JavaScript. M. Malatesta 4-Funzioni e strutture di controllo-03

Corso di JavaScript. M. Malatesta 4-Funzioni e strutture di controllo-03 Corso di JavaScript 4 Funzioni e strutture di controllo 1 Prerequisiti Conoscenza HTML Architettura client-server Programmazione ad oggetti (Java, C++) Concetto di programmazione ad eventi Parametri formali

Dettagli

Utilizzare Outlook Express

Utilizzare Outlook Express Utilizzare Outlook Express Inviare un messaggio (1) Per inviare un messaggio: Cliccare sul pulsante Appare la finestra Nuovo messaggio: Inviare un messaggio (2) Riempire i campi: A:

Dettagli

A. Ferrari. Ajax. Asynchronous JavaScript and XML. Alberto Ferrari

A. Ferrari. Ajax. Asynchronous JavaScript and XML. Alberto Ferrari Ajax Asynchronous JavaScript and XML 1 Definizione o Asynchronous JavaScript and XML (AJAX) non è di per sé una tecnologia, ma è un termine che descrive un "nuovo" approccio all'utilizzo di diverse tecnologie

Dettagli

Progetto Gennaio 2017

Progetto Gennaio 2017 UNIVESITÁ DEGLI STUDI DI MILANO LAUREA TRIENNALE IN COMUNICAZIONE DIGITALE PROGETTO LABORATORIO DI RETI DI CALCOLATORI Progetto Gennaio 2017 Matteo Zignani 12 dicembre 2016 1 PRESENTAZIONE DEL PROBLEMA

Dettagli

definizione o Asynchronous JavaScript and XML (AJAX)

definizione o Asynchronous JavaScript and XML (AJAX) ajax definizione o Asynchronous JavaScript and XML (AJAX) o o o non è un linguaggio non è una tecnologia è un termine che descrive un "nuovo" approccio all'utilizzo di diverse tecnologie esistenti, compresi:

Dettagli

GECO e gli Allegati. Archiviazione digitale dei documenti

GECO e gli Allegati. Archiviazione digitale dei documenti Archiviazione digitale dei documenti 2 Archiviazione documenti Con GECO è possibile associare uno o più documenti ai dati memorizzati in archivio (ad esempio è possibile associare il PDF della fattura

Dettagli

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi

Dettagli

MANUALE UTENTE UPLOADER JAVA

MANUALE UTENTE UPLOADER JAVA MANUALE UTENTE UPLOADER JAVA Indice 1. Accesso all applicazione 2 2. Selezionare e aprire una cartella 2 3. Caricare file e cartelle 3 4. Scaricare un file o una cartella 6 5. Funzioni avanzate 8 6. Aggiornare

Dettagli

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi

Dettagli

Area: InvoiceComm. Punto di menù: Gestione e distinte

Area: InvoiceComm. Punto di menù: Gestione e distinte Area: InvoiceComm Funzionalità: Fatture elettroniche Punto di menù: Gestione e distinte Tale documento è disponibile, oltre che ad uso interno dei dipendenti di UniCredit SpA, per la consultazione e la

Dettagli

POS VIRTUALE INTERNET

POS VIRTUALE INTERNET All. F4 POS VIRTUALE INTERNET SETEFI S.p.A 1 Indice 1. SOLUZIONE PROPOSTA... 3 1.1 Fase di autorizzazione... 3 1.2 Funzioni di cifratura e decifratura... 4 1.2.1 La funzione Rij_Client_CifraNew... 4 1.2.2

Dettagli

Orologi & Orologi.it, Guida per l utente - Versione Microsys Servizi Informatici s.a.s. Tutti i diritti riservati

Orologi & Orologi.it, Guida per l utente - Versione Microsys Servizi Informatici s.a.s. Tutti i diritti riservati IL MENÙ PRINCIPALE...2 AGGIUNTA DI UN OROLOGIO...2 MODIFICA DI UN OROLOGIO...4 CANCELLAZIONE DI UN OROLOGIO...5 COME EFFETTUARE LE FOTOGRAFIE DEGLI OROLOGI...5 CARICAMENTO DI UN IMMAGINE...6 DUBBI, CHIARIMENTI

Dettagli

Cookie Policy. 2. cookie di terze parti di profilazione e social utilizzati

Cookie Policy. 2. cookie di terze parti di profilazione e social utilizzati Cookie Policy La presente Cookie Policy ha lo scopo di fornire, in linea con il principio di trasparenza che disciplina il rapporto con i nostri clienti, informazioni sulle tipologie, le finalità e le

Dettagli

Laboratorio Progettazione Web Modello di applicazione Web

Laboratorio Progettazione Web Modello di applicazione Web Laboratorio Progettazione Web Modello di applicazione Web Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.it AA 2014/2015 INDICE 1. Libreria per accedere al DB Mysql 2. Esempio di un programma PHP che

Dettagli

Connessione con MySQL

Connessione con MySQL Connessione con MySQL Architettura Server-Side Eventuali parametri cookie sessioni Elaborazione SELECT... DATABASE Quando i dati sono molti e la persistenza deve andare altre la sessione o la durata

Dettagli

SQL per le applicazioni D B M G

SQL per le applicazioni D B M G SQL per le applicazioni Call Level Interface Le richieste sono inviate al DBMS per mezzo di funzioni del linguaggio ospite soluzione basata su interfacce predefinite API, Application Programming Interface

Dettagli

INSERIRE I DATI NEL DATABASE

INSERIRE I DATI NEL DATABASE 13-Cap10_DWCS3.qxd 18-11-2009 11:43 Pagina 201 CAPITOLO10 INSERIRE I DATI NEL DATABASE In questo capitolo In questo capitolo imparerai a interagire con i contenuti del database gestiti nel sito. In particolare

Dettagli

s.r.l Roma Piazza Pitagora, 10 Tel r.a. Fax 06/ r.a. C.F. e R.I P. IVA SKYNET WEB SERVICES

s.r.l Roma Piazza Pitagora, 10 Tel r.a. Fax 06/ r.a. C.F. e R.I P. IVA SKYNET WEB SERVICES S E D I V A s.r.l. 00197 Roma Piazza Pitagora, 10 Tel. 06.80.89.91 r.a. Fax 06/808.99.280 r.a. C.F. e R.I. 01104770589 P. IVA 00962301008 Rea n. 379110 - Cap.Soc. Euro 10.320,00 i.v. SKYNET WEB SERVICES

Dettagli

Appello Telematico. Guida per l'inserimento e la consultazione dei documenti

Appello Telematico. Guida per l'inserimento e la consultazione dei documenti Appello Telematico Guida per l'inserimento e la consultazione dei documenti 2 Sommario 1. Introduzione... 4 2. L iter dell appello su internet... 4 3. L accesso alla pagina di un appello... 5 4. Il prelievo

Dettagli

SQL per le applicazioni D B M G

SQL per le applicazioni D B M G SQL per le applicazioni Call Level Interface Le richieste sono inviate al DBMS per mezzo di funzioni del linguaggio ospite soluzione basata su interfacce predefinite API, Application Programming Interface

Dettagli

Array, Funzioni e interazione con l utente

Array, Funzioni e interazione con l utente Array, Funzioni e interazione con l utente Laboratorio di Progettazione Web AA 2010/2011 Claudio Lucchese / Chiara Renso ISTI- CNR claudio.lucchese@isti.cnr.it Gli array sono contenitori in grado di memorizzare

Dettagli

2011 Politecnico di Torino 1

2011 Politecnico di Torino 1 SQL per le applicazioni Call Level Interface Le richieste sono inviate al DBMS per mezzo di funzioni del linguaggio ospite soluzione basata su interfacce predefinite API, Application Programming Interface

Dettagli

Lato client: vuol dire che le operazioni programmate vengono svolte e visualizzate direttamente sul computer dell'utente collegato

Lato client: vuol dire che le operazioni programmate vengono svolte e visualizzate direttamente sul computer dell'utente collegato Introduzione al linguaggio PHP Hypertext preprocessor Lato client: vuol dire che le operazioni programmate vengono svolte e visualizzate direttamente sul computer dell'utente collegato Lato server: vuol

Dettagli

Esercitazione Highcharts

Esercitazione Highcharts Esercitazione Highcharts Esercizio 1 Visualizzare i risultati della Web API popolazione.php attraverso un grafico a barre. Soluzione Per poter rappresentare i risultati della Web API popolazione attraverso

Dettagli

Mashup con Javascript

Mashup con Javascript Mashup con Javascript Browser components UI: address bar, back/forward button, bookmarking menu etc Every part of the browser display except the main window The browser engine - marshalls the actions between

Dettagli

IIS (Internet Information Services)

IIS (Internet Information Services) IIS (Internet Information Services) Nota introduttiva sulle varie versioni IIS e della loro relazione con i vari sistemi operativi (da http://www.microsoft.com/italy/technet/prodtechnol/windowsserver2003/insider.mspx)

Dettagli

AJAX. Uso di responsexml

AJAX. Uso di responsexml AJAX Uso di responsexml Pattern base req = new XMLHttpRequest(); req.onreadystatechange = requeststatehandler; req.open("get", "somefile.php", true); req.send(""); function requeststatehandler() { if (req.readystate

Dettagli

D B M G Il linguaggio HTML

D B M G Il linguaggio HTML Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form @2011 Politecnico di Torino 1 Concetti

Dettagli

Programmazione Web D B M G. Il linguaggio HTML

Programmazione Web D B M G. Il linguaggio HTML Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form HTML: HyperText Markup Language Standard

Dettagli

MANUALE OPERATIVO PER IL CARICAMENTO DEI CONTRIBUTI

MANUALE OPERATIVO PER IL CARICAMENTO DEI CONTRIBUTI MANUALE OPERATIVO PER IL CARICAMENTO DEI CONTRIBUTI 1. ACCESSO AL SISTEMA Il sistema FONDIP WEB è basato su tecnologia WEB ed è accessibile all utente Azienda cliccando sull apposito link nell area riservata

Dettagli

Documentazione e tutorial

Documentazione e tutorial P r o g e t to Sinapsi RunAs Documentazione e tutorial Ver.1 del 01/12/2016 P.Iva 02554100129 email: assistenza-sinapsirunas@ghiraldello.it Pagina 1 di 13 Sommario Progetto Sinapsi RunAs Documentazione

Dettagli

Utilizzo collegamento remoto

Utilizzo collegamento remoto Utilizzo collegamento remoto Introduzione Il collegamento VPN (virtual private network) consente a PC collegati ad internet ma fisicamente fuori dalla rete interna regionale, di accedere, con le credenziali

Dettagli

@2011 Politecnico di Torino 1

@2011 Politecnico di Torino 1 Concetti di base Programmazione Web Il linguaggio HTML HTML consente di annotare un testo per contrassegnare le parti che lo compongono Le annotazioni sono realizzate tramite i "tag" Visualizzare documenti

Dettagli

Relazione Progetto Database ORLUDB

Relazione Progetto Database ORLUDB Relazione Progetto Database ORLUDB LUCA STECCANELLA e ORAZIO CONTARINO 9 CFU 05/08/2015 1 OBBIETTIVO DEL PROGETTO Si vuole realizzare un interfaccia per software gestionali nel settore del Vending consentendo

Dettagli

Calcolo numerico e programmazione Introduzione a Scilab (3)

Calcolo numerico e programmazione Introduzione a Scilab (3) Calcolo numerico e programmazione Introduzione a Scilab (3) Tullio Facchinetti 3 maggio 2012 23:58 http://robot.unipv.it/toolleeo Cos è una funzione le funzioni sono insiemi

Dettagli

Modulo o Form in Html

Modulo o Form in Html Pagina dinamica E un documento contenente oggetti, dati e informazioni che possono variare anche in base all iterazione dell utente con il documento stesso. Un esempio classico è quello di una persona

Dettagli

Sicurezza delle applicazioni web: protocollo HTTP

Sicurezza delle applicazioni web: protocollo HTTP Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2013/2014 Sicurezza delle applicazioni web: protocollo HTTP Andrea Lanzi 14 Maggio 2014 Andrea Lanzi

Dettagli

MANUALE TECNICO n AGGIORNATO AL ARCHIVIAZIONE DELEGA 730/2015. Impostazioni Risoluzione Scanner Canon (DR C125 e DR M140) Pag.

MANUALE TECNICO n AGGIORNATO AL ARCHIVIAZIONE DELEGA 730/2015. Impostazioni Risoluzione Scanner Canon (DR C125 e DR M140) Pag. MANUALE TECNICO N.24.00 DEL 02.04.2015 ARCHIVIAZIONE DELEGA 730/2015 Indice Impostazioni Risoluzione Scanner Canon (DR C125 e DR M140) Pag. 2 Prerequisiti Pag. 5 Registrazione della Delega 730/2015 in

Dettagli

MANUALE UTENTE. Conservazione Fiscale Online. Versione: 1 Data: 19/06/2017

MANUALE UTENTE. Conservazione Fiscale Online. Versione: 1 Data: 19/06/2017 Conservazione Fiscale Online Versione: 1 Data: 19/06/2017 INDICE 1. INTRODUZIONE... 3 1.1 Accesso al servizio... 3 1.1 Descrizione del sistema... 3 2. DESCRIZIONE DELL APPLICAZIONE... 3 3. GESTIONE FILE...

Dettagli

CONFIGURAZIONE E GESTIONE DEL DATABASE. rev giugno 2018

CONFIGURAZIONE E GESTIONE DEL DATABASE. rev giugno 2018 CONFIGURAZIONE E GESTIONE DEL DATABASE rev. 1.5 29 giugno 2018 Indice Introduzione Configurazione iniziale del database Condivisione del database su rete locale (LAN) Cambio e gestione di database multipli

Dettagli