Laboratorio 4: PHP e MySQL

Slides:



Advertisements
Presentazioni simili
UNO STRUMENTO PER INTERAGIRE CON GLI UTENTI DELLE PAGINE WEB
Advertisements

Pratiche edilizie on-line
Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
CORSO DI SICUREZZA SU RETI II PROF. A. DE SANTIS ANNO 2006/07 Informatica granata Gruppo 2 ISP Gruppo 3 ISP.
DBMS (DataBase Management System)
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
PHP.
IL LINGUAGGIO HTML Il linguaggio html. Il linguaggio html. Utilizzo dei tag. Utilizzo dei tag. Script Browser I link I link Caricamento dei dati sul server.
Mantenimento dello stato Laboratorio Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
Connessione con MySQL.
Analisi e Contromisure di tecniche di Sql Injection
Interazione tra basi di dati e web
UNIVERSITÀ DI PERUGIA DIPARTIMENTO DI MATEMATICA E INFORMATICA Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della.
Esercitazione 5 MySQL Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
Esercitazione 6 MySQL Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
Servizi Consolari Online
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Laurea.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Laurea.
CORSO DI INFORMATICA LAUREA TRIENNALE-COMUNICAZIONE & DAMS
Corso di Informatica A.A
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Laurea.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Dott.ssa.
Gruppo ISP1 Commessa tuttipunti.org. Sommario Descrizione commessa Organizzazione del lavoro Lavoro svolto Problematiche di sicurezza Impostazioni di.
GE730Web Utente dipendente
La nuova funzionalità Ammortizzatori in deroga verrà attivata a tutti i soggetti indicati dallente (siano essi già presenti in web forma – progettisti,
Daniel Stoilov Tesi di Laurea
DBMS ( Database Management System)
Progettazione multimediale
Riservato Cisco 1 © 2010 Cisco e/o i relativi affiliati. Tutti i diritti sono riservati.
Monitoraggio Pratiche Didattiche della provincia di Reggio Calabria Copyright©2007 Dargal.it. E' vietata la riproduzione anche parziale e.
Corso Drupal 2013 Andrea Dori
TESSERAMENTO E BREVETTAZIONE ON LINE DA PARTE DELLE SOCIETA’
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
Realizzato da Roberto Savino
Foglio elettronico Excel Livello avanzato
Array e Funzioni in PHP Laboratorio di Progettazione Web AA 2007/2008 Chiara Renso ISTI- CNR -
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
ASP – Active Server Pages Introduzione Pagine Web Statiche & Dinamiche(ASP)
1 Applicazione per la gestione dei progetti di “Laboratorio e Tecnologie Web” Ilaria Iannantuono.
HTML I Form in HTML5.
Interrogare il database
L’Informatizzazione del Distretto Francesco Maremonti – Commissione Informatica ed Anagrafe.
Analisi del servizio PaschiHome Ripasso lezione del 19 ottobre 2005.
La fruizione dei learning object e delle prove OCSE nell’ambiente.
GUIDA ALLE ISCRIZIONI «ON LINE»
Modulo 6 Test di verifica
2. Cliccare «Procedi comunque» 1.Digitare l’url indicato.
PrenotaLab Sistema di prenotazione on line dei Laboratori ed aule di Istituto.
Corso di WebMaster Mercoledì 14 Novembre. Parte I – Introduzione al Corso Lezione 1: Presentazione Descrizione Breve del Corso Semplice Valutazione.
Processo di Registrazione portali: MyCompany
Registrazione alle istanze on-line
A cura di Marilia Rossi FONDO ESPERO: 28, 29 e 30 aprile 2014 SI VOTA 28, 29 e 30 aprile 2014 SI VOTA VOTA E FAI VOTARE LA LISTA SNALS-Confsal.
Realizzato dagli stagisti media educator Per creare un utente andate su Amministrazione del sito -> Utenti -> Profili -> Nuovo utente. L'username.
A cura di: Mola Michele Perna Gabriele Rea Giovanni
Laboratorio 1: HTML e CSS
PIATTAFORMA MAESTRA.
Introduzione a Javascript
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
Manuale per la presentazione, gestione e rendicontazione dei Voucher Aggiornato al 03 maggio 2013.
Programmazione Web PHP e MySQL 1. 2Programmazione Web - PHP e MySQL Esempio: un blog.
Lezione 19 Riccardo Sama' Copyright  Riccardo Sama' Access.
Lezione 10 Riccardo Sama' Copyright  Riccardo Sama' Word: strumenti di correzione.
MySQL Database Management System
Registrazione degli ospiti INFN e gestione del database via web M.Corosu, A.Brunengo INFN Sezione di Genova Linguaggio di programmazione: perl Web server:
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Manuale Utente – i-Sisen Questionario del Gas Naturale
Permessi di accesso e sosta: come essere avvisati della scadenza tramite SMS oppure 12 Novembre 2015.
TEMPI? Dalle 08:00 del 22 gennaio alle 20:00 del 22 febbraio 2016; CON QUALE MODALITA’? On Line – secondo le indicazioni del Ministero dell’Istruzione.
Guida introduttiva. Inserire e confermare la nuova password. (Deve contenere almeno 7 caratteri almeno uno dei quali un numero e una lettera.) Inserire.
Transcript della presentazione:

Laboratorio 4: PHP e MySQL Devis Bianchini – Fondamenti di Informatica B 2008/2009 Programmazione Web Laboratorio 4: PHP e MySQL Informazione 1 1 1

Lavagna elettronica (I) Un’unità aziendale di decision making opera per le decisioni di tipo consueto e ripetitivo tramite la procedura seguente: un qualsiasi membro del gruppo formula una linea di azione un secondo membro ne prende visione e, se la approva in pieno, formula una proposta identica, altrimenti propone una variante e così via a seguire per gli altri membri … non appena una proposta identica viene formulata dalla metà più uno dei componenti, la decisione viene presa e segnalata sulla lavagna a tutti i membri; una mail con la decisione presa deve essere indirizzata all’amministratore del sito (si scelga, a titolo esemplificativo, il proprio indirizzo email), indicando come mittente LavagnaElettronica@serviziomail.it Programmazione Web - Esercizi PHP 2 2 2

Lavagna elettronica (II) La soluzione proposta è quella di una lavagna elettronica Sala riunioni ore 20 Casa Rossi, ore 15 Sala riunioni ore 19 … Programmazione Web - Esercizi PHP 3 3 3

Lavagna elettronica (III) Ciascun membro può leggere la lavagna tramite il Web, verificare se è già stata presa una decisione (nel qual caso eventuali proposte vengono ignorate) e inviare la propria proposta, che come tutte le altre verrà visualizzata in forma anonima Lavagna.html Sezione dinamica, aggiornata ad ogni invio di proposta Sezione statica, per l’invio di ogni proposta. Programmazione Web - Esercizi PHP 4 4 4

…e se si raggiunge l’accordo Lavagna.html Programmazione Web - Esercizi PHP 5 5 5

Lavagna elettronica (IV) I partecipanti sono identificati tramite e-mail e preliminarmente inseriti in un database Programmazione Web - Esercizi PHP 6 6 6

Programmazione Web - Esercizi PHP La pagina Lavagna.html Programmazione Web - Esercizi PHP 7 7 7

Programmazione Web - Esercizi PHP Lo script lavagna.php Lo script formRicevi.php si basa sulla classe Lavagna.php composta da quattro metodi statici, ciascuno dei quali effettua una connessione, esegue un’opportuna query e chiude la connessione Programmazione Web - Esercizi PHP 8 8 8

Iniezione di codice SQL (I) L’iniezione di codice SQL è una tecnica di attacco che sfrutta i campi di input per inserire codice SQL dannoso, ottenendo informazioni private o alterando il database Per esempio: ‘ OR ‘’=‘ Posso accedere senza conoscere la password dell’utente ‘Devis’ Programmazione Web - Esercizi PHP 9 9 9

Iniezione di codice SQL (II) L’iniezione di codice SQL è una tecnica di attacco che sfrutta i campi di input per inserire codice SQL dannoso, ottenendo informazioni private o alterando il database Per esempio: Altri valori catastrofici per il campo ‘username’ Programmazione Web - Esercizi PHP 10 10 10

Evitare iniezione di codice SQL Esistono diverse tecniche per prevenire l’iniezione di codice SQL, tra le quali: tecniche che prevedono di effettuare modifiche nel file php.ini tecniche che prevedono il controllo degli input dell’utente eliminandone o manipolandone caratteri speciali come i singoli apici, applicabili a qualsiasi input tecniche che prevedono di irrobustire il codice tramite l’uso di casting ed espressioni regolari, applicabili a tipi particolari di input Programmazione Web - Esercizi PHP 11 11 11

Modifica del file php.ini Una prima soluzione è quella di modificare direttamente il file di configurazione php.ini, attivando le magic quotes Questa opzione inserirà il carattere di escape davanti a tutti gli apici contenuti in COOKIE, POST e GET Questa soluzione potrebbe tuttavia non essere ottimale: potrebbe causare incompatibilità con molte altre applicazioni Web non viene attivata nessuna protezione su input che non provengono da COOKIE, GET o POST Programmazione Web - Esercizi PHP 12 12 12

Gestione dell’input dell’utente Un altro modo per prevenire l’iniezione di codice SQL è quello di utilizzare funzioni per la manipolazione delle stringhe: la funzione addslashes() che esegue il quoting di una stringa mediante slash la funzione htmlentities() che converte i caratteri speciali in entità HTML la funzione mysql_escape_string() che aggiunge sequenze di escape in una stringa per l’uso in mysql_query() Programmazione Web - Esercizi PHP 13 13 13

Controllo del tipo di input Infine, vengono utilizzate tecniche per controlli specifici sul tipo di input se un input deve essere un numero intero, viene utilizzato is_numeric per verificarlo e, in caso positivo, viene convertito con intval() o con funzioni analoghe se un input è una stringa, vengono usate le espressioni regolari per escluderne caratteri speciali Programmazione Web - Esercizi PHP 14 14 14

Programmazione Web - Esercizi PHP Suggerimenti Il materiale necessario allo svolgimento dell’esercizio è reperibile al seguente indirizzo http://www.ing.unibs.it/~deantone/MaterialePW/Lucidi/2014- 2015/Laboratori/Lab4 Per inviare una mail in PHP, utilizzare la funzione mail() dopo aver opportunamente settato il file php.ini come specificato di seguito Programmazione Web - Esercizi PHP 15 15 15