SIMULAZIONE RETE INTERNET INTERNET SERVICE PROVIDER GRUPPO 2 COMMESSA – INFORMATICA GRANATA Corso Sicurezza su Reti II Prof. A. De Santis Anno Accademico 2006/2007 SPECIFICHE COMMESSA Implementazione sito Informatica Granata 1. Gestione anagrafica clienti 2. Gestione catalogo e listino (con pannello amministratori) 3. Gestione utenti amministratori 4. Carrello della spesa 5. Interfaccia col sistema di pagamento U.P. 6. Registrazione di almeno 30 utenti e catalogo di almeno 20 prodotti di diversa prezzatura SOLUZIONE PROPOSTA Sito Web Informatica Granata: Interazione con Ufficiale Pagatore HTML & PHP Interazione utente mediante form Connessioni ed operazioni sicure con SSL Utilizzo DBMS MySQL Transazioni SQL IL NOSTRO LAVORO Creazione database SHOP ed interfaccia per accesso ai dati Utilizzo MySQL 5.0.37 e PHP 5.2.1 Suddivisione Lavoro: I. Barone – Creazione Database D. Laurino - Interazione Database Interazione e Collaborazione con Gruppo 3 DATABASE SHOP Contiene tutti i dati necessari all’applicazione Composto da 5 tabelle: - CUSTOMERS : cf,nome,indirizzo,uname,pwd,admin - ORDERS : cod,cliente*,totale,data,stato - PRODUCTS : cod,nome,descr,prezzo,qtà,foto - PROD_ORD : prod*,ord*,qtà - TOKENS : id,token _ chiave primaria * chiave esterna ISTRUZIONI SQL - ESEMPIO Creazione Tabella Customers DROP TABLE IF EXISTS 'Customers'; CREATE TABLE 'Customers' ( 'CF' varchar(16) NOT NULL, 'NAME' varchar(50) default NULL, 'ADDRESS' varchar(100) default NULL, 'UNAME' varchar(20) default NULL, 'PASSWORD' varchar(8000) default NULL, 'ADMINISTRATOR' enum('True','False') default 'False', PRIMARY KEY ('CF') ) MYDBMANAGER Oggetto PHP Connessione gestita nel costruttore Funzionalità/Query: - Login di Utenti ed Amministratori - Gestione Utenti con modifiche dati - Elenco Utenti e Dati Utente Specifico - Gestione Prodotti con modifiche dati - Catalogo Prodotti e Dati Prodotto Specifico - Gestione ed Elenco Ordini e Prodotti Ordinati - Gestione di Timeout e Conferma Ordini MYDBMANAGER Funzioni PHP Gestione SQL Injection: - addslashes per inserimento - stripslashes per reperimento Transazioni per evitare Denial of Service Gestione connesioni sicure SSL/MYSQL DIFFICOLTA’ INCONTRATE Creazione Modello E/R Gestione Transazioni : Lock,Start Transaction,Commit Connessione Sicura DB - mysql_connect(…,MYSQL_SSL_CLIENT) - malfunzionamento - soluzione : database presso Gruppo 3