Programmazione Web. Laboratorio 4: PHP e MySQL



Похожие документы
Indice Configurazione di PHP Test dell ambiente di sviluppo 28

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

COSTRUZIONE SITO WEB da AlterVista (

Installazione & Configurazione Php e MySQL su Mac Os X. Php

Al giorno d oggi, i sistemi per la gestione di database

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

Manuale di utilizzo del sito ASUWEB

SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE

19. LA PROGRAMMAZIONE LATO SERVER

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Obiettivo dell esercitazione

Procedura SMS. Manuale Utente

ALBO PRETORIO WEB MANUALE DELLA PROCEDURA SOMMARIO. Uso del manuale. Informazioni generali. Interfaccia grafica. Guida di riferimento

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.

Guida alla registrazione on-line di un DataLogger

Gestione Filtri. InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11

SITO INTERNET E SERVIZI WEB

PROCEDURA ON-LINE PER L INSERIMENTO E/O LA CONFERMA DEI PERCORSI FORMATIVI PER L APPRENDISTATO PROFESSIONALIZZANTE

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base Variabili, operatori e commenti Array...

Outlook Plugin per VTECRM

ACCESSO AL PORTALE INTERNET GSE

Dexma Newsletter System

Microsoft Access. Microsoft Access

Modulo 3 - Elaborazione Testi 3.5 Stampa unione

MANUALE PARCELLA FACILE PLUS INDICE

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

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

Database Manager Guida utente DMAN-IT-01/09/10

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

Registrazione utente. Manuale Utente

1.1 Installare un nuovo Client di Concept ed eseguire il primo avvio

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

GUIDA UTENTE BILLIARDS COUNTER (Vers )

GUIDA OPERATIVA CGM MEF. 1 of 11. EFFEPIEFFE Srl

Individuare Web Shell nocive con PHP Shell

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

SQL Server Integration Services. SQL Server 2005: ETL - 1. Integration Services Project

Corso Online Analista Programmatore Microsoft

LETTERA D INSTALLAZIONE DELLA PROCEDURA SERVIZI SOCIALI

1- OBIETTIVI DEL DOCUMENTO 2- INTRODUZIONE

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Servizio on-line di Analisi e Refertazione Elettrocardiografica

2. LOGIN E RECUPERO DATI DI ACCESSO

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

Monitor Orientamento. Manuale Utente

Il seguente Syllabus è relativo al Modulo 7, Reti informatiche, e fornisce i fondamenti per il test di tipo pratico relativo a questo modulo

Linee guida per l utilizzo dei servizi per il supporto alla didattica

monitoraggio dei locomotori via Internet

Integrazione InfiniteCRM - MailUp

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Dichiarazione Unità Produttiva

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

Servizi telematici on-line per aziende ed intermediari

I.N.A.I.L. Certificati Medici via Internet. Manuale utente

Il tuo manuale d'uso. LEXMARK X502N

MySQL Database Management System

Manuale Affidamento Diretto Vers

Indice GAMMA. Guida utente

NOME 0 PROVIDER DOMINIO istruzione.it

PrestaShop 1.5. Manuale per gli utenti. Ultimo aggiornamento: 25 gennaio A cura di:

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

MANUALE UTENTE Fiscali Free

Per accedere all area di gestione collegarsi al sito e digitare nell apposito box i dati di accesso (username: xxx password: xxx).

per interventi strutturali di rafforzamento locale o di miglioramento sismico, - art. 2, comma 1, lettere b) e c) -

flusso delle informazioni... 2 password... 3 password/ inserimento di una nuova richiesta... 4 le condizioni di vendita... 6

TUTORIAL. Come compilare il Modulo Ordine Spedizione per spedire un pacco con SpedireAdesso.com

ARCHIVIAZIONE DOCUMENTI

RIDAB - Sistema di Risarcimento Danni

Manuale Utente Amministrazione Trasparente GA

Sistema per il monitoraggio della Spesa Sanitaria

GUIDA ALLA Rel. 4.2 SOMMARIO. 5) Aggiornamento Configurazione Mail Preesistente Pag.

Autorità per l energia elettrica e il gas

MINISTERO della DIFESA DIREZIONE GENERALE del PERSONALE CIVILE

Leggere un messaggio. Copyright 2009 Apogeo

Gestione della posta elettronica e della rubrica.

2.1 Installazione e configurazione LMS [4]

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

Manuale Amministratore bloodmanagement.it

ALF0021M MANUALE UTENTE MODULO "SETUP"

Guida per la fase di registrazione. A cura di Ing. Fabio Rombaldoni. (ultimo aggiornamento: 8 agosto 2013)

Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente

I M P O S T A R E U N A C C O U N T D I P O S T A C O N M O Z I L L A T H U N D E R B I R D

Amministrazione Trasparente

Istruzioni per l uso della Guida. Icone utilizzate in questa Guida. Istruzioni per l uso della Guida. Software di backup LaCie Guida per l utente

Manuale Servizio NEWSLETTER

MANUALE ESSE3 Gestione Registro delle lezioni

1) GESTIONE DELLE POSTAZIONI REMOTE

BDCC : Guida rapida all utilizzo

STUDIO MESSANO UFFICIO SVILUPPO NUOVE TECNOLOGIE

Транскрипт:

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 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 2

Lavagna elettronica (II) La soluzione proposta è quella di una lavagna elettronica Sala riunioni ore 20 Casa Rossi, ore 15 Sala riunioni ore 19 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. 4

e se si raggiunge l accordo Lavagna.html 5

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

La pagina Lavagna.html 7

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 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 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 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 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 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() 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 14

Suggerimenti l Per inviare una mail in PHP, utilizzare la funzione mail() dopo aver opportunamente settato il file php.ini come specificato di seguito Il materiale necessario allo svolgimento dell esercizio è reperibile al seguente indirizzo http://www.ing.unibs.it/~deantone/materialepw/lucidi/2014-2015/laboratori/lab4 15