Elementi di Sicurezza e Privatezza Lezione 15 Web Security - Code Injection (1)

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Elementi di Sicurezza e Privatezza Lezione 15 Web Security - Code Injection (1)"

Transcript

1 Elementi di Sicurezza e Privatezza Lezione 15 Web Security - Code Injection (1) Chiara Braghin

2 Le 2 maggiori vulnerabilità dei siti Web SQL Injection Il browser spedisce dell input malizioso ad un server (tramite un form) La mancata verifica dell input porta a query SQL maliziose di TIPO 1: rilasciano informazione sensibile di TIPO 2: modificano dati critici (e sensibili) XSS Cross-site scripting Un Web server cattivo spedisce a una vittima innocente uno script che ruba informazioni da un server Web onesto 1

3 Code Injection SQL Injection e XSS sono un esempio del più generico attacco di tipo Code (o Command) injection Input non fidato viene inserito in una query o in un istruzione La stringa in input altera la semantica prevista dell istruzione Es: SQL Injection - dati non verificati vengono usati per fare una query ad un database Approfitta di vulnerabilità insite nei siti Web dinamici 2

4 Code Injection (1) Permette all attaccante di eseguire codice arbitrario a lato server Esempio: code injection basato su eval (funzione PHP) Si supponga di avere una calcolatrice a lato server: $in = $_GET[ exp']; eval('$ans = '. $in. ';'); Attacco: inserire 10; system( rm *.* ), ovvero 10; system( rm *.* ) 3

5 Code Injection (2) Esempio basato sull uso della funzione system(): Codice PHP per spedire $ = $_POST[ ] $subject = $_POST[ subject ] system( mail $ s $subject < /tmp/mailbody ) L attaccante può inserire: & subject=foo < /usr/passwd; ls Oppure: echo evil::0:0:root:/:/bin/sh">>/etc/passwd; ls 4

6 SQL Injection

7 SQL Injection Input non fidato viene inserito in una query La stringa in input altera la semantica prevista della query al database Possibile nel caso in cui non vengano controllati i dati in input Approfitta di vulnerabilità insite nei siti Web dinamici 6

8 SQL Injection - Funzionamento di base 1 Inserire input malizioso in un form Server Vittima 2 Attaccante 3 riceve (o modifica) dati sensibili query SQL non voluta DB SQL Vittima 7

9 SQL Injection - Elementi base (1) Client-side: Form per inserire i dati 8

10 SQL Injection - Elementi base (2) Server-side: Script che recupera i dati e li utilizza (e.g., costruisce la query) Esempio (codice PHP): $username = $_POST[ username ]; $sql = "SELECT PersonID FROM Users WHERE username='$username' "; $rs = $db->executequery($sql); Problema: L input dell utente contenuto in username viene inserito direttamente in un comando SQL 9

11 SQL Injection - Elementi base (3) Server-side: Database su cui viene fatta la query Users PersonID username lastname name SSN 1 mrossi Rossi Mario A 2 escarpa Scarpa Enzo Y Users SELECT name, lastname, SSN FROM Users lastname Rossi name Mario SSN A Scarpa Enzo Y 10

12 I tag HTML (1) I tag sono gli elementi della pagina HTML che servono per definire il tipo e il formato del contenuto, in questo modo il testo scritto appare nel formato voluto Caratteristiche principali: sono racchiusi da parentesi <angolate> <HTML> molti elementi possono avere argomenti (chiamati attributi) all'interno dei tag che definiscono parametri sulla gestione dell'elemento stesso da parte del browser <BODY BGCOLOR= red > la maggior parte dei tag ha un inizio (tag di apertura) e una fine (tag di chiusura) <HTML> e </HTML> Per chiudere un tag basta aggiungere / al tag iniziale i tag possono essere scritti indifferentemente con lettere maiuscole o minuscole 11

13 I tag HTML (2) - Regole di scrittura Regole per una corretta scrittura (non tutte obbligatorie): I tag vanno scritti sempre nello stesso modo non <HTML> e </html> I tag vanno aperti e chiusi sempre nello stesso ordine ma devono essere annidati fra loro e non sovrapposti: <THIS><THAT></THIS></THAT> <THIS><THAT></THAT></THIS> - tag sovrapposti, sbagliato - tag annidati, giusto Esempio: non si deve scrivere <body><p>contenuto della pagina</body></p> I valori vanno inseriti tra virgolette o apici Il browser interpreta al meglio pagine web che non rispettino queste regole, ma browser diversi possono dare risultati visivi diversi. 12

14 SQL (1) Una query SQL agisce sulle tabelle definite nella base di dati e restituisce come risultato una tabella Nei casi più semplici una query SQL deve specificare: quali sono le informazioni che interessano SELECT Attributo 1, Attributo 2, in quali tabelle si trovano FROM Tabella 1, Tabella 2, quali proprietà devono avere (la condizione, opzionale, è espressa sugli attributi delle tabelle specificate nella clausola FROM) WHERE Condizione 13

15 SQL (2) Il comando di base di SQL: SELECT [DISTINCT] Attributo {, Attributo} FROM Tabella [Ide] {, Tabella [Ide]} [ WHERE Condizione ] Semantica: restrizione + prodotto + proiezione Note: la condizione è opzionale in generale, una tabella nel linguaggio SQL non è un insieme, ma un multinsieme, a meno che non venga selezionata l opzione DISTINCT per evitare ambiguità quando si opera sul prodotto di tabelle con gli stessi nomi dei campi, un attributo A di una tabella R ide si denota come R.A oppure ide.a 14

16 SQL (3) La condizione presente nella clausola WHERE è un espressione boolena costruita combinando predicati semplici con gli operatori AND, OR, NOT Alcuni predicati semplici: Expr Confronto Expr Expr Confronto (Sottoselect che torna un valore) [NOT] EXISTS (Sottoselect) Confronto: <, >, =, <>, <=, >= 15

17 SQL Injection (1) Query (vulnerabile!) usata spesso per il login: SELECT * FROM Users WHERE username = chiara' AND passwd = '123' (Se ritorna qualcosa -i.e. l utente esiste-, allora login) Sintassi del server ASP/MS SQL: var sql = "SELECT * FROM Users WHERE username = '" + username + "' AND passwd = '" + passwd + "'"; 16

18 SQL Injection (2) Web Browser (Client) inserire username e password Web Server SELECT * FROM Users WHERE username= io' AND passwd= io23' DB Query normale 17

19 SQL Injection (3) Dati inseriti dall utente: username = ' or 1=1 passwd = ahah Query finale: SELECT * FROM Users WHERE username = ' ' or 1=1 ' AND password = 'ahah' Effetto: Seleziona un intera tabella invece che solo una riga! L utente viene loggato in quanto la query ritorna qualcosa -- commenta ciò che segue 18

20 SQL Injection (4) Dati inseriti dall utente: username = ' ; DROP TABLE Users passwd = boh Query finale: SELECT * FROM users WHERE username = ' ' ; DROP TABLE Users ' AND password = 'boh' Effetto: Cancella la tabella degli utenti!! Allo stesso modo si possono aggiungere utenti, modificare le password, etc. 19

21 Esempio (1.1) Esempio di come ottenere le informazioni sensibili contenute nel DB: Un form per richiedere gli ordini mensili di pizza. Si inserisce il numero del mese e viene visualizzata una tabella riassuntiva. 20

22 Esempio (1.2) Query SQL SELECT pizza, toppings, quantity, date FROM orders WHERE userid=. $userid. AND order_month=. _GET[ month ] Supponiamo che: month = 0 AND 1=0 UNION SELECT name, CC_num, exp_mon, exp_year FROM creditcards L'operatore UNION esegue l'unione insiemistica di due tabelle generate da comandi SELECT 21

23 Esempio (1.3) Risultato: vengono visualizzati i numeri di carta di credito dei clienti!! 22

24 Esempio (1.4) Altro attacco: SELECT pizza, toppings, quantity, order_day FROM orders WHERE userid=4123 AND order_month=0 OR 1=1 La condizione è sempre vera 23

25 Esempio (2) - :-) Source: 24

26 Attacco a CardSystems CardSystems Una compagnia che gestiva il pagamento avvenuto tramite carte di credito Attacco SQL injection nel giugno 2005 L attacco in numeri: 263,000 numeri di carte di credito rubati dal database (i numeri venivano memorizzati in chiaro ) 43 milioni di numeri di carte di credito esposti all attacco 25

27 Attacco dell aprile 2008 (1) 26

28 Attacco dell aprile 2008 (2) Come ha funzionato l attacco: (1) Usato Google per trovare siti che usano un particolare stile di ASP vulnerabile ad attacchi di tipo SQL injection (2) Usato SQL injection su questi siti, modificando la pagina facendo in modo che includa un link al sito cinese nihaorr1.com (NON VISITARE IL SITO!!!!!) (3) Il sito nihaorr1.com usa script JavaScript che sfruttano vulnerabilità in IE, RealPlayer, QQ Instant Messenger I passi (1) e (2) sono eseguiti in automatico da un tool che può venire configurato in modo che inietti qullo che si vuole nei siti vulnerabili 27

29 Esistono delle soluzioni? 1. Whitelisting al posto di Blacklisting 2. Validazione dell input 3. Usare Prepared Statements 28

30 Problemi del Blacklisting Blacklisting: indicare i caratteri che non devono essere presenti nelle stringhe di input Filtrare apici, spazi bianchi, ; e? Si potrebbe sempre scordare un carattere pericoloso Blacklisting non è una soluzione esauriente Es: parametri numerici? Può essere in conflitto con alcuni requisiti funzionali: Come memorizzare O Brien nel DB se gli apici non sono permessi? 29

31 Whitelisting Whitelisting permette solo input che rientrano in un ben definito insieme di valori L insieme di valori in genere viene definito usando espressioni regolari RegExp è il pattern con cui confrontare le stringhe in ingresso Es: parametro month: intero non-negativo RegExp: ^[0-9]*$ - 0 o più cifre, insieme sicuro ^ e $ indicano l inizio e la fine della stringa [0-9] indica cifre, * indica 0 o più 30

32 Prepared Statements & Bind Variables Meccanismo di base per SQL Injection: Alcuni metacaratteri (e.g. apici) servono per distinguere i dati dal controllo nelle query Nella maggior parte degli attacchi: dati interpretati come controllo Altera la semantica della query Bind Variable:? segnaposto che garantiscono si tratti di dati (non di controllo) Prepared Statements permettono la creazione di query statiche con bind variables Preserva la struttura della query attesa I paramentri non vengono considerati in fase di parsing della query 31

33 Java Prepared Statements PreparedStatement ps = db.preparestatement("select pizza, toppings, quantity, order_day " + "FROM orders WHERE userid=? AND order_month=?"); ps.setint(1, session.getcurrentuserid()); ps.setint(2, Integer.parseInt(request.getParamenter("month"))); ResultSet res = ps.executequery(); Bind Variable: segnaposto per i dati Le bind variable sono tipate: l input deve essere del tipo che ci si aspetta (e.g. int, string) 32

34 PHP Prepared Statements $ps = $db->prepare( 'SELECT pizza, toppings, quantity, order_day '. 'FROM orders WHERE userid=? AND order_month=?'); $ps->execute(array($current_user_id, $month)); Non c è la tipizzazione dei parametri come in Java SQL injection è ancora possibile! 33

35 Conclusione Gli attacchi di tipo SQL injection sono delle minacce che possono: Rilasciare dati sensibili Alterare o danneggiare dati critici Dare ad un attaccante un accesso non autorizzato ad un DB Idea chiave per combatterli: Usare diverse soluzioni, in modo consistente! Validazione dell input basato su whitelisting Prepared Statements con bind variable (meglio se tipate) 34

36 Web, vulnerabilità e attacchi

37 Attacchi comuni (2006) Cross-site scripting (XSS) 22% SQL Injection 14 % PHP Include 10% Buffer overflow 8% Il 2005 è stato il primo anno In cui XSS ha superato gli attacchi di tipo buffer overflow. 36

38 Attacchi - aggiornamento (2009) 37

39 Dati recenti (1) Le vulnerabilità più diffuse nelle applicazioni Web (% Vulns ALL) 38

40 Dati recenti (2) Percentuale di diffusione delle vulnerabilità delle applicazioni Web (% Vulns ALL) 39

41 Riferimenti The Web Application Security Consortium Web-Hacking-Incident-Database Hacking-Incident-Database The IBM X-Force Trend and Risk Report ibm.com/services/us/iss/xforce/tr endreports/ 40

Elementi di Sicurezza e Privatezza Lezione 14 Web Security. Chiara Braghin

Elementi di Sicurezza e Privatezza Lezione 14 Web Security. Chiara Braghin Elementi di Sicurezza e Privatezza Lezione 14 Web Security Chiara Braghin Web, vulnerabilità e attacchi Attacchi comuni (2006) Cross-site scripting (XSS) 22% SQL Injection 14 % PHP Include 10% Buffer overflow

Dettagli

Cookie (1) - Componenti

Cookie (1) - Componenti Elementi di Sicurezza e Privatezza Lezione 10 Web Security (2) Code Injection Chiara Braghin chiara.braghin@unimi.it! Cookie (1) - Componenti 4 componenti: 1) cookie nell header del messaggio HTTP response

Dettagli

Elementi di Sicurezza e Privatezza Lezione 10 Web Security (2) Code Injection

Elementi di Sicurezza e Privatezza Lezione 10 Web Security (2) Code Injection Elementi di Sicurezza e Privatezza Lezione 10 Web Security (2) Code Injection Chiara Braghin chiara.braghin@unimi.it! Cookie (1) - Componenti 4 componenti: 1) cookie nell header del messaggio HTTP response

Dettagli

27/11/12. Elementi di Sicurezza e Privatezza Lezione 11 Web Security (3) - Code Injection. Chiara Braghin. chiara.braghin@unimi.it!

27/11/12. Elementi di Sicurezza e Privatezza Lezione 11 Web Security (3) - Code Injection. Chiara Braghin. chiara.braghin@unimi.it! Elementi di Sicurezza e Privatezza Lezione 11 Web Security (3) - Code Injection Chiara Braghin chiara.braghin@unimi.it! SQL Injection 1 SQL Injection - Funzionamento di base 1 Inserire input malizioso

Dettagli

Attacchi alle applicazioni web: SQL injection e Cross-site scripting (XSS)

Attacchi alle applicazioni web: SQL injection e Cross-site scripting (XSS) UNIVERSITÀ DEGLI STUDI DI CATANIA Facoltà di Ingegneria Corso di laurea Specialistica in Ingegneria Informatica Tesina di Sicurezza nei Sistemi informativi Simona Ullo Attacchi alle applicazioni web: SQL

Dettagli

Corso di Sicurezza Informatica. Sicurezza del software. Ing. Gianluca Caminiti

Corso di Sicurezza Informatica. Sicurezza del software. Ing. Gianluca Caminiti Corso di Sicurezza Informatica Sicurezza del software Ing. Gianluca Caminiti SQL Injection Sommario Premessa sul funzionamento dei siti dinamici SQL Injection: Overview Scenari di attacco: Errata gestione

Dettagli

Elementi di Sicurezza e Privatezza Lezione 13 Web Security. Chiara Braghin

Elementi di Sicurezza e Privatezza Lezione 13 Web Security. Chiara Braghin Elementi di Sicurezza e Privatezza Lezione 13 Web Security Chiara Braghin Cookie e Sicurezza HTTP e i cookie (1) Vi ricordate? I Web server in genere sono stateless: una serie di richieste dallo stesso

Dettagli

Elementi di Sicurezza e Privatezza Lezione 13 Web Security. Chiara Braghin. Cookie e Sicurezza

Elementi di Sicurezza e Privatezza Lezione 13 Web Security. Chiara Braghin. Cookie e Sicurezza Elementi di Sicurezza e Privatezza Lezione 13 Web Security Chiara Braghin Cookie e Sicurezza 1 HTTP e i cookie (1) Vi ricordate? I Web server in genere sono stateless: una serie di richieste dallo stesso

Dettagli

PHP e Structured Query Language

PHP e Structured Query Language Esercitazioni del corso di Tecnologie per la Comunicazione Aziendale PHP e Structured Query Language Marco Loregian loregian@disco.unimib.it www.siti.disco.unimib.it/didattica/tca2008 Interrogazioni (ripasso)

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Analisi di vulnerabilità e prevenzione di attacchi SQL injection e Cross-site Scripting

Analisi di vulnerabilità e prevenzione di attacchi SQL injection e Cross-site Scripting Pattern Recognition and Applications Lab Analisi di vulnerabilità e prevenzione di attacchi SQL injection e Cross-site Scripting Dott. Ing. Igino Corona igino.corona (at) diee.unica.it Corso Sicurezza

Dettagli

Il linguaggio HTML - Nozioni di base

Il linguaggio HTML - Nozioni di base Corso IFTS Informatica, Modulo 3 Progettazione pagine web statiche (50 ore) Il linguaggio HTML - Nozioni di base Dott. Chiara Braghin braghin@dti.unimi.it What is HTML? HTML (HyperText Markup Language)

Dettagli

[1] Cross Site Scripting [2] Remote / Local File Inclusion [3] SQL Injection

[1] Cross Site Scripting [2] Remote / Local File Inclusion [3] SQL Injection ---------------------------------------------------------------------..... _/ / _ / / \ \/ / / / / \ / \ \ \ / /_/ \ /\ / \ \ \ / /_/ > Y \ \ \ >\_/ / > / \ / / \/ \/ \/ \/ / / \/ ---------------------------------------------------------------------

Dettagli

Dott.ssa Maria Vittoria Avolio. Dott.ssa Adriana Pietramala

Dott.ssa Maria Vittoria Avolio. Dott.ssa Adriana Pietramala Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Maria Vittoria Avolio avoliomv@unical.it Dott.ssa Adriana Pietramala a.pietramala@unical.it Riferimenti Manuale PHP http://www.php.net/download-docs.php

Dettagli

--- PREMESSE INTRODUZIONE. .:luxx:.

--- PREMESSE INTRODUZIONE. .:luxx:. SQL INJECTION --- SICUREZZA.:luxx:. PREMESSE Questa guida accenna ad alcuni metodi di SQL injection e si sofferma sulla prevenzione di tali attacchi, per comprendere al meglio il testo è necessaria una

Dettagli

WHITE PAPER Per Sql-Injection si intendono comunemente tutti quegli attacchi ad un'applicazione, solitamente Web, in cui il programma esegue query su di un database SQL utilizzando variabili passate dall'utente

Dettagli

SQL Injection The dark side of webapplication *** Siamo davvero certi che chi gestisce i nostri dati sensibili lo faccia in modo sicuro?

SQL Injection The dark side of webapplication *** Siamo davvero certi che chi gestisce i nostri dati sensibili lo faccia in modo sicuro? SQL Injection The dark side of webapplication *** Siamo davvero certi che chi gestisce i nostri dati sensibili lo faccia in modo sicuro? Che cos'e' SQL? Acronimo di 'Structured Query Language E' un linguaggio

Dettagli

Siti interattivi e dinamici. in poche pagine

Siti interattivi e dinamici. in poche pagine Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata

Dettagli

Il sistema IBM DB2. Sistemi Informativi T. Versione elettronica: L01.1.IntroduzioneDB2.pdf

Il sistema IBM DB2. Sistemi Informativi T. Versione elettronica: L01.1.IntroduzioneDB2.pdf Il sistema IBM DB2 Sistemi Informativi T Versione elettronica: L01.1.IntroduzioneDB2.pdf IBM DB2 Il DBMS relazionale IBM DB2 è il prodotto di punta dell IBM per la gestione di basi di dati relazionali

Dettagli

Questo punto richiederebbe uno sviluppo molto articolato che però a mio avviso va al di là delle possibilità fornite al candidato dal tempo a disposizione. Mi limiterò quindi ad indicare dei criteri di

Dettagli

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

Programmazione Web. Laboratorio 4: PHP e MySQL

Programmazione Web. Laboratorio 4: PHP e MySQL Programmazione Web Laboratorio 4: PHP e MySQL Lavagna elettronica (I) Un unità aziendale di decision making opera per le decisioni di tipo consueto e ripetitivo tramite la procedura seguente: un qualsiasi

Dettagli

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti

Dettagli

Legenda: Vengono riportate qui brevi descrizioni di alcuni dei più noti e comuni tipi di vulnerabilità,in base al loro grado di pericolosità.

Legenda: Vengono riportate qui brevi descrizioni di alcuni dei più noti e comuni tipi di vulnerabilità,in base al loro grado di pericolosità. Legenda: Vengono riportate qui brevi descrizioni di alcuni dei più noti e comuni tipi di vulnerabilità,in base al loro grado di pericolosità. Livello di Pericolosità 3: Login Cracking: Il cracking è il

Dettagli

Laboratorio di reti II: Problematiche di sicurezza delle reti

Laboratorio di reti II: Problematiche di sicurezza delle reti Laboratorio di reti II: Problematiche di sicurezza delle reti Stefano Brocchi brocchi@dsi.unifi.it 30 maggio, 2008 Stefano Brocchi Laboratorio di reti II: Sicurezza web 30 maggio, 2008 1 / 43 La sicurezza

Dettagli

Navigazione automatica e rilevazione di errori in applicazioni web

Navigazione automatica e rilevazione di errori in applicazioni web Politecnico di Milano Navigazione automatica e rilevazione di errori in applicazioni web Relatore: Prof. Stefano Zanero Fabio Quarti F e d e r i c o V i l l a A.A. 2006/2007 Sommario Obiettivo: Illustrare

Dettagli

APPENDICE B Le Active Server Page

APPENDICE B Le Active Server Page APPENDICE B Le Active Server Page B.1 Introduzione ad ASP La programmazione web è nata con la Common Gateway Interface. L interfaccia CGI tuttavia presenta dei limiti: ad esempio anche per semplici elaborazioni

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System http://www.mysql.com/ DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare

Dettagli

Il linguaggio HTML - Parte 3

Il linguaggio HTML - Parte 3 Corso IFTS Informatica, Modulo 3 Progettazione pagine web statiche (50 ore) Il linguaggio HTML - Parte 3 Dott. Chiara Braghin braghin@dti.unimi.it Addenda Vedi tabella caratteri speciali Vedi file caratteri_speciali.html

Dettagli

CONCETTO DI ANNIDAMENTO

CONCETTO DI ANNIDAMENTO LEZIONE14 SQL ANNIDAMENTI PAG. 1 / 5 PROF. ANDREA ZOCCHEDDU LEZIONE14 SQL ANNIDAMENTI CONCETTO DI ANNIDAMENTO LINGUAGGIO SQL QUERY ANNIDATE Per annidamento si intende la possibilità che, all interno di

Dettagli

Concetti base di sicurezza applicativa web. Massimo Carnevali Responsabile Esercizio dei Sistemi Informativi Comune di Bologna

Concetti base di sicurezza applicativa web. Massimo Carnevali Responsabile Esercizio dei Sistemi Informativi Comune di Bologna Concetti base di sicurezza applicativa web Massimo Carnevali Responsabile Esercizio dei Sistemi Informativi Comune di Bologna Agenda Concetti base Esempio reale (SQL code injection) Come cambia lo scenario

Dettagli

JDBC versione base. Le classi/interfacce principali di JDBC

JDBC versione base. Le classi/interfacce principali di JDBC JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Conoscere il concetto di espressione 2 1 Introduzione

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

JDBC. A. Bechini 2004. Accesso a DataD con Java

JDBC. A. Bechini 2004. Accesso a DataD con Java JDBC Accesso a DataD atabase ase con Java Utilizzo di DB da applicazioni esterne Un DB contiene e gestisce dati, importanti per varie operazioni supportate da applicazioni software Come può un applicazione

Dettagli

Corso basi di dati Introduzione alle ASP

Corso basi di dati Introduzione alle ASP Corso basi di dati Introduzione alle ASP Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Web statico e Web interattivo In principio il Web era una semplice collezione di pagine

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Approfondimenti. Il controllo di SQL Injection nelle pagine ASP e ASP.NET. U.A. 5 - Database in rete con le pagine ASP e ASP.

Approfondimenti. Il controllo di SQL Injection nelle pagine ASP e ASP.NET. U.A. 5 - Database in rete con le pagine ASP e ASP. U.A. 5 - Database in rete con le pagine ASP e ASP.NET 269 Il controllo di SQL Injection nelle pagine ASP e ASP.NET Approfondimenti Con il termine SQL Injection si intende l aggiunta di istruzioni SQL nell

Dettagli

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2014/2015 Classe: 5^A inf Prof.ssa C. Lami Prof. S. Calugi Materia: INFORMATICA GENERALE, APPLICAZIONI TECNICO SCIENTIFICHE

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Esercitazione PAM. (Php Apache MySQL)

Esercitazione PAM. (Php Apache MySQL) Prerequisiti: Esercitazione PAM (Php Apache MySQL) Installazione del server Apache: avvenuta; Installazione del server Php: avvenuta; Sincronizzazione dei due server: avvenuta. Abstract: L esercitazione

Dettagli

Logout [ e01692 ] FAQ Cerca Iscritti Pannello di Controllo Utente. Ultimo accesso: ieri, 8:07 Oggi è 07/04/2009, 9:44

Logout [ e01692 ] FAQ Cerca Iscritti Pannello di Controllo Utente. Ultimo accesso: ieri, 8:07 Oggi è 07/04/2009, 9:44 lnx.brescianet.com Sito didattico - Prof. Sechi Marco Logout [ e01692 ] FAQ Cerca Iscritti Pannello di Controllo Utente Ultimo accesso: ieri, 8:07 Oggi è 07/04/2009, 9:44 Messaggi senza risposta Argomenti

Dettagli

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28 Indice 25 184 Introduzione XI Capitolo 1 Impostazione dell ambiente di sviluppo 2 1.1 Introduzione ai siti Web dinamici 2 1.2 Impostazione dell ambiente di sviluppo 4 1.3 Scaricamento di Apache 6 1.4 Installazione

Dettagli

2104 volume III Programmazione

2104 volume III Programmazione 2103 SQLite Capitolo 77 77.1 Utilizzo generale................................. 2104 77.1.1 Utilizzo di sqlite3».......................... 2104 77.1.2 Copie di sicurezza............................ 2106

Dettagli

sito web sito Internet

sito web sito Internet Siti Web Cos è un sito web Un sito web o sito Internet è un insieme di pagine web correlate, ovvero una struttura ipertestuale di documenti che risiede, tramite hosting, su un web server e accessibile

Dettagli

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

Dettagli

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query Costruzione di Sit Web con PHP e MySQL Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query Esercitazione In questa lezione si farà insieme una seconda esercitazione che

Dettagli

Web Programming Specifiche dei progetti

Web Programming Specifiche dei progetti Web Programming Specifiche dei progetti Paolo Milazzo Anno Accademico 2010/2011 Argomenti trattati nel corso Nel corso di Web Programming sono state descritti i seguenti linguaggi (e tecnologie): HTML

Dettagli

Corso di Web Programming

Corso di Web Programming Corso di Web Programming 11. PHP - Complementi Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Informatica Applicata

Dettagli

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari Gubiani & Montanari Il DBMS Oracle 1 Il DBMS Oracle Express Edition Donatella Gubiani e Angelo Montanari Il DBMS Oracle Il DBMS Oracle Oracle 10g Express Edition Il DBMS Oracle (nelle sue versioni più

Dettagli

MediaWiki. Giuseppe Frisoni

MediaWiki. Giuseppe Frisoni MediaWiki Giuseppe Frisoni MediaWiki: costruire insieme 1/2 L'enorme successo di Wikipedia, la nota enciclopedia online, è sotto gli occhi di tutti; cosa meno nota, invece, è la piattaforma con cui è progettata.

Dettagli

Il linguaggio SQL: query innestate

Il linguaggio SQL: query innestate Il linguaggio SQL: query innestate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLc-subquery.pdf Sistemi Informativi L-A DB di riferimento

Dettagli

Tecnologie e Programmazione Web

Tecnologie e Programmazione Web Presentazione 1 Tecnologie e Programmazione Web Html, JavaScript e PHP RgLUG Ragusa Linux Users Group SOftware LIbero RAgusa http://www.solira.org - Nunzio Brugaletta (ennebi) - Reti 2 Scopi di una rete

Dettagli

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare

Dettagli

Corso di Informatica Modulo T3 B1 Programmazione web

Corso di Informatica Modulo T3 B1 Programmazione web Corso di Informatica Modulo T3 B1 Programmazione web 1 Prerequisiti Architettura client/server Elementi del linguaggio HTML web server SQL server Concetti generali sulle basi di dati 2 1 Introduzione Lo

Dettagli

Le espressioni regolari.

Le espressioni regolari. Lezione 8 Le espressioni regolari. Le espressioni regolari. Corrispondenze e classi di caratteri. Le regular expressions (espressioni regolari) servono per descrivere dei modelli di stringa. E possibile

Dettagli

RenderCAD S.r.l. Formazione

RenderCAD S.r.l. Formazione Corso Descrizione La durata di questo corso è complessivamente di ore 150 di cui 85 ore di teoria, 35 ore di pratica e 30 ore di stage in azienda. Nel nostro territorio esiste una richiesta di tale figura,

Dettagli

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni Uso dei data bases con PHP Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni MDAC MDAC è l acronimo di Microsoft Data Access Component e fa parte della tecnologia Microsoft denominata Universal

Dettagli

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

Dettagli

Simonotti Graziano DATABASE

Simonotti Graziano DATABASE DATABASE 1 - Che cos'è un database? Il database è un archivio di dati, che può essere gestito con sistemi informatici oppure in modo manuale. 2 - Come si chiamano i programmi che gestiscono gli archivi?

Dettagli

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas PHP A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas Copyright Istituto Italiano Edizioni Atlas Programmazione lato server PHP è un linguaggio che estende le funzionalità

Dettagli

COM_HELLOWORLD_PART4

COM_HELLOWORLD_PART4 COM_HELLOWORLD_PART1 Nel manifest la presenza del tag permette di gestire le versioni incrementali di aggiornamento anche grazie all uso del tag . Le installazioni successive del componente

Dettagli

GLI SCRIPT DI SHELL. Lucidi a cura di B.De Carolis. UNIX shell script UdB- Dip Informatica

GLI SCRIPT DI SHELL. Lucidi a cura di B.De Carolis. UNIX shell script UdB- Dip Informatica GLI SCRIPT DI SHELL Lucidi a cura di B.De Carolis Shell Unix - Linux comandi Interfaccia di alto livello tra utente e SO. Il processore interpreta e mette in esecuzione comandi da: 1) standard input o

Dettagli

Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda)

Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda) Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda) Il candidato realizzi inoltre il sito Internet del centro che deve permettere, tra

Dettagli

PHP. Per poter interagire con i dati che si trovano sul server remoto occorrono strumenti server-side.

PHP. Per poter interagire con i dati che si trovano sul server remoto occorrono strumenti server-side. PHP Il linguaggio HTML e i linguaggi di scripting come Javascript impongono alcune limitazioni alle applicazioni che si possono realizzare : per esempio non è possibile costruire un sito Web che consenta

Dettagli

Esempi pratici, risultati e contromisure consigliate. Massimo Biagiotti

Esempi pratici, risultati e contromisure consigliate. Massimo Biagiotti L attività di un Ethical Hacker Esempi pratici, risultati e contromisure consigliate Massimo Biagiotti Information Technology > Chiunque operi nel settore sa che il panorama dell IT è in continua evoluzione

Dettagli

Indice register_globals escaping

Indice register_globals escaping 1 Indice La sicurezza delle applicazioni web Le vulnerabilità delle applicazioni web La sicurezza in PHP: La direttiva register_globals Filtrare l'input Filtrare l'output (escaping) SQL Injection Cross

Dettagli

User Tools: DataBase Manager

User Tools: DataBase Manager Spazio di lavoro Per usare T-SQL Assistant selezionare il link Simple Query e spostare a piacere la piccola finestra dove un menu a tendina mostra i diversi comandi SQL selezionabili, il pulsante Preview

Dettagli

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014 Laboratorio Progettazione Web PHP e MySQL Andrea Marchetti IIT-CNR 2013/2014 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation Application Storage PHP e DataBase Quando

Dettagli

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

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

Dettagli

PHP 5. Accesso a database

PHP 5. Accesso a database PHP 5 Accesso a database PHP ed i database PHP funziona con molti database relazionali che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

JDBC per l accesso Java a DB. Tito Flagella tito@link.it

JDBC per l accesso Java a DB. Tito Flagella tito@link.it JDBC per l accesso Java a DB Tito Flagella tito@link.it JDBC fornisce una libreria standard per l accesso a database relazionali Non è un acronimo ufficiale ma è comunemente interpretato come Java DataBase

Dettagli

TeamPortal. Servizi integrati con ambienti Gestionali

TeamPortal. Servizi integrati con ambienti Gestionali TeamPortal Servizi integrati con ambienti Gestionali 12/2013 Accesso da remoto Accesso da remoto Esempio 1 Sul Firewall devono essere aperte le porte 80 : http (o quella assegnata in fase di installazione/configurazione

Dettagli

TeamPortal. Infrastruttura

TeamPortal. Infrastruttura TeamPortal Infrastruttura 05/2013 TeamPortal Infrastruttura Rubriche e Contatti Bacheca Procedure Gestionali Etc Framework TeamPortal Python SQL Wrapper Apache/SSL PostgreSQL Sistema Operativo TeamPortal

Dettagli

Benvenuti. Luca Biffi, Supporto Tecnico Achab supporto@achab.it

Benvenuti. Luca Biffi, Supporto Tecnico Achab supporto@achab.it Benvenuti Luca Biffi, Supporto Tecnico Achab supporto@achab.it DriveLock: bloccare le applicazioni indesiderate Agenda 3 semplici domande Application control di DriveLock Confronto con Windows 7 Conclusioni

Dettagli

Il Protocollo HTTP e la programmazione di estensioni Web

Il Protocollo HTTP e la programmazione di estensioni Web Il Protocollo HTTP e la programmazione di estensioni Web 1 Il protocollo HTTP È il protocollo standard inizialmente ramite il quale i server Web rispondono alle richieste dei client (prevalentemente browser);

Dettagli

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database PHP ed i database PHP 5 Accesso a database PHP funziona con molti database relazionale che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN Il metodo migliore per creare nuovi DB è quello di usare l interfaccia del PHPMYADMIN (che viene installata automaticamente con il pacchetto easy

Dettagli

Protocolli e architetture per WIS

Protocolli e architetture per WIS Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS

Dettagli

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26 Uso delle variabili di alias SQL slide aggiuntive Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione educazione Non solo per disambiguare la notazione

Dettagli

Microsoft Access Maschere

Microsoft Access Maschere Microsoft Access Maschere Anno formativo: 2007-2008 Formatore: Ferretto Massimo Mail: Skype to: ferretto.massimo65 Profile msn: massimoferretto@hotmail.com "Un giorno le macchine riusciranno a risolvere

Dettagli

Sviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012

Sviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012 + Sviluppo Applicazioni Mobile Lezione 12 JDBC + Cosa vediamo nella lezione di oggi Oggi analizzeremo insieme una specifica tecnologia Java per l accesso e la manipolazione di basi di dati relazionali

Dettagli

SQL - Funzioni di gruppo

SQL - Funzioni di gruppo una funzione di gruppo permette di estrarre informazioni da gruppi di tuple di una relazione le funzioni di gruppo si basano su due concetti: partizionamento delle tuple di una relazione in base al valore

Dettagli

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER Caratteristiche generali del linguaggio SQL Il linguaggio SQL è il linguaggio usato per la gestione dei database relazionali, cioè dei database creati con un DBMS di tipo relazionale. Esso nacque nella

Dettagli

XML. Concetti principali. Risultato possibile. Differenze tra XML e HTML

XML. Concetti principali. Risultato possibile. Differenze tra XML e HTML Concetti principali Un documento XML contiente delle istruzioni particolari chiamate tag scritte in forma di coppia di parentesi (metalinguaggio con parentesi) Daniele Marini XML questa

Dettagli

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione Evoluzione del Web Direzioni di sviluppo del web a) Multimedialità b) Dinamicità delle pagine e interattività c) Accessibilità d) Separazione del contenuto dalla forma di visualizzazione e) Web semantico

Dettagli

Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti:

Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: Javadoc Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: /* commenti */ // commenti /** commenti documentazione */ Questi ultimi generano automaticamente

Dettagli

Manuale scritto da Fuso Federico 4 A Anno scolastico 2011/2012 Parte 1

Manuale scritto da Fuso Federico 4 A Anno scolastico 2011/2012 Parte 1 Manuale scritto da Fuso Federico 4 A Anno scolastico 2011/2012 Parte 1 Chi può riuscire a creare pagine HTML? La realizzazione di pagine web non eccessivamente sofisticate è alla portata di tutti, basta

Dettagli

Applicazioni e Architetture Internet. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Applicazioni e Architetture Internet. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma Applicazioni e Architetture Internet 1 Introduzione Introduzione alle architetture a tre livelli Formati di dati per il Web HTML, XML, DTD 2 Componenti dei sistemi dataintensive Tre tipi separati di funzionalità:

Dettagli

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica

Dettagli

La tecnologia ASP.NET e i database

La tecnologia ASP.NET e i database Introduzione alle pagine dinamiche Con il linguaggio HTML si possono creare delle pagine Web statiche. Se invece volessimo creare delle pagine Web dinamiche, pagine il cui codice html viene generato al

Dettagli

Java: la libreria delle classi

Java: la libreria delle classi Java: la libreria delle classi Applet anatomia di un applet cenni di html La libreria JDBC per l accesso ai database il package java.sql 213 Applet Un applet è una applicazione Java che ha una forma particolare

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Lezione 6: Form 27/04/2012

Lezione 6: Form 27/04/2012 Lezione 6: Form In alcuni documenti HTML può essere utile creare dei moduli (form) che possono essere riempiti da chi consulta le pagine stesse (es. per registrarsi ad un sito). Le informazioni sono poi

Dettagli

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Pag. 1/1 Sessione ordinaria 2010 Seconda prova scritta Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA

Dettagli

Sicurezza delle applicazioni web: attacchi web

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

Dettagli

Applicazione ASP di esempio

Applicazione ASP di esempio Applicazione ASP di esempio Database in rete Prof. Claudio Maccherani Un server web è un programma che gira su un computer sempre collegato ad Internet e che mette a disposizione file, pagine e servizi.

Dettagli

Architetture Web I Server Web e gli Standard della Comunicazione

Architetture Web I Server Web e gli Standard della Comunicazione Architetture Web I Server Web e gli Standard della Comunicazione Alessandro Martinelli alessandro.martinelli@unipv.it 27 Marzo 2012 Architetture Architetture Web Protocolli di Comunicazione Il Client Side

Dettagli

DBMS ed Applicazioni Motivazioni

DBMS ed Applicazioni Motivazioni DBMS ed Applicazioni Motivazioni Sin ora abbiamo visto SQL come linguaggio per interrogare DBMS da interfaccia interattiva Nella pratica, un efficace sfruttamento delle potenzialità dei DBMS deriva dalla

Dettagli

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.c Cookies e sessioni. Goy - a.a. 2012/2013 Programmazione Web 1

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.c Cookies e sessioni. Goy - a.a. 2012/2013 Programmazione Web 1 MODULO 1 PARTE 3 Programmazione (scripting) server-side con PHP 3.c Cookies e sessioni Goy - a.a. 2012/2013 Programmazione Web 1 Cookie - I Cookie = variabili che il server salva (*) sul client come file

Dettagli