La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Programmazione Web Laboratorio 4: PHP e MySQL. Lavagna elettronica (I) 2Programmazione Web - Esercizi PHP Un’unità aziendale di decision making opera.

Presentazioni simili


Presentazione sul tema: "Programmazione Web Laboratorio 4: PHP e MySQL. Lavagna elettronica (I) 2Programmazione Web - Esercizi PHP Un’unità aziendale di decision making opera."— Transcript della presentazione:

1 Programmazione Web Laboratorio 4: PHP e MySQL

2 Lavagna elettronica (I) 2Programmazione Web - Esercizi PHP 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 ), indicando come mittente

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

4 Lavagna elettronica (III) 4Programmazione Web - Esercizi PHP 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 Sezione dinamica, aggiornata ad ogni invio di proposta Sezione statica, per l’invio di ogni proposta. Lavagna.html

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

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

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

8 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 Lo script lavagna.php 8Programmazione Web - Esercizi PHP

9 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: Iniezione di codice SQL (I) 9Programmazione Web - Esercizi PHP ‘ OR ‘’=‘ Posso accedere senza conoscere la password dell’utente ‘Devis’

10 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: Iniezione di codice SQL (II) 10Programmazione Web - Esercizi PHP Altri valori catastrofici per il campo ‘username’

11 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 Evitare iniezione di codice SQL 11Programmazione Web - Esercizi PHP

12 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 Modifica del file php.ini 12Programmazione Web - Esercizi PHP

13 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() Gestione dell’input dell’utente 13Programmazione Web - Esercizi PHP

14 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 Controllo del tipo di input 14Programmazione Web - Esercizi PHP

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


Scaricare ppt "Programmazione Web Laboratorio 4: PHP e MySQL. Lavagna elettronica (I) 2Programmazione Web - Esercizi PHP Un’unità aziendale di decision making opera."

Presentazioni simili


Annunci Google