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