Autenticazione in PHP.
|
|
|
- Martina Catalano
- 9 anni fa
- Просмотров:
Транскрипт
1 Autenticazione in PHP. Negli script di amministrazione o di accesso a servizi riservati, è assolutamente necessario una procedura di autenticazione con Login e Password (autenticazione in base a cosa si sa). Una procedura di autenticazione deve salvare lo stato utente ricordando il login effettuato. Risulta quindi indispensabile la gestione di sessioni ed il loro rilascio in fase di logout. In questa lezione vedremo come implementare delle funzioni per l autenticazione in PHP. La tabella MySQL di supporto La struttura della tabella è la seguente : CREATE TABLE Users ( user_id VARCHAR(40) NOT NULL PRIMARY KEY, username VARCHAR(40) NOT NULL UNIQUE, password VARCHAR(40) NOT NULL ) Il campo aggiuntivo user_id è una stringa univoca. Essa viene creata in fase di registrazione del utente. In questo modo è possibile effettuare i controlli soltanto su di essa, senza portare avanti le informazioni accoppiate username e password. L informazione user_id sarà contenuta in una variabile di sessione registrata ($uid). Nella sezione riservata, verrà effettuato un controllo su tale variabile. Se non è settata, significa che un utente non autenticato tenta di accedere alla pagina protetta. In fase di log out, si effettua il rilascio della sessione e il reset della variabile $uid. La struttura dello script Per implementare i nostri script di autenticazione, ci basiamo su una libreria di funzioni per la registrazione, il login e la visualizzazione del form di registrazione/autenticazione. I file che fanno parte del nostro sistema di log in sono : auth.php registrazione.php login.php pagina.php La libreria di funzioni Lo script di registrazione Lo script di autenticazione La pagina protetta pagina.php Mostriamo prima di tutto il file pagina.php. Esso è una pagina di contenuto protetto che deve essere visualizzato soltanto dagli utenti loggati : /* una pagina riservata*/ if (isset($uid)) { <HTML><HEAD><TITLE>Pagina Riservata</TITLE></HEAD> <BODY><H2>Bravo! sei autenticato</h2>
2 La struttura dello script <br> <a href="login.php?action=out">log Out</a><br> </BODY> //non sei autenticato // contenuto non protetto <HTML><HEAD><TITLE>Pagina Riservata</TITLE></HEAD> <BODY><H2>Effettua il login o registrati!</h2> <br> <a href="login.php?action=in">log In</a><br> <a href="registrazione.php">registrati</a><br> </BODY> Osservate come viene protetta la pagina semplicemente osservando lo stato della variabile di sessione $uid. Se essa non è settata, viene visualizzato un messaggio di errore ed i link che portano al file di login (lo script che effettua il login ed il logout è lo stesso; si specifica l action in una querystring) ed a quello di registrazione. login.php Questo script si occupa dell autenticazione e del logout. Il codice è il seguente : /* script di login Autore : Domenico Nappo */ include("auth.php"); if ($REQUEST_METHOD!='POST') { if ((isset($uid))&&($action=='in')) { //sei già autenticato echo 'Sei stato autenticato con successo elseif ((isset($uid))&& ($action=='out')){ session_unset(); session_destroy(); echo "<H2>Arrivederci.</H2><br> <a href='login.php?action=in'> Log In</a>"; form_login('login'); $msg=login($username,$password,&$uid); if ($msg=='') { echo 'Sei stato autenticato con successo
3 form_login('login',$msg); Se si chiama lo script con una querystring action=out, significa che si vuole effettuare il logout. In questo caso, si rilascia la sessione e si saluta l utente, mostrando il link a login.php (questa volta con action=in) per effettuare un nuovo login. Se l action è in, si visualizza il form per l autenticazione. La funzione che si utilizza per il form di autenticazione e di registrazione è la stessa: essa discrimina se si tratta di un login o di una registrazione per un nuovo utente grazie al parametro $action che le viene passato come primo argomento. Vedremo meglio il suo semplice funzionamento quando parleremo delle funzioni presenti nella nostra libreria auth.php. Tornando allo script login.php, se il metodo con cui è stato richiamato lo script è POST, vuol dire che si è già visualizzato il form di autenticazione e adesso si cerca di loggarsi. Lo script richiama la funzione login(), a cui vengono passati i parametri $username e $password e restituisce un messaggio $msg, da cui si valuta il successo dell operazione. Se $msg è vuoto, non c è stato alcun errore, altrimenti viene richiamata la funzione form_login() esplicitando l argomento opzionale che indica l errore di autenticazione. Alla funzione login() viene passato per riferimento la variabile $uid, in modo che il suo cambiamento all interno dela funzione sia visibile anche all esterno di essa e possa così essere registrata correttamente dalla funzione session_register(). registrazione.php Questo script si occupa della registrazione degli utenti. Utilizza anch esso delle funzioni contenute nella libreria auth.php. /* Script di registrazione Autore: Domenico Nappo */ include ("auth.php"); if ($REQUEST_METHOD=='POST') { $msg=registra($username,$password,&$uid); if ($msg=='') { echo 'Sei stato registrato con successo form_login('registrazione',$msg); form_login('registrazione'); La struttura di questo script è davvero molto semplice: se si è chiamato lo script da un modulo HTML, significa che si sta tentando una registrazione. A questo scopo, si effettua una chiamata alla funzione registra(), a cui vengono passati gli argomenti $username e $password
4 La struttura dello script (provenienti dal modulo HTML), oltre alla variabile di sessione passata per riferimento. Il controllo sul successo dell operazione (che potrebbe fallire nel caso ci sia un utente registrato con la stessa username scelta da chi ha richiesto la registrazione attuale) viene effettuato allo stesso modo del login, cioè sulla variabile $msg. Se c è un errore (la variabile $msg non è vuota), si visualizza il form di registrazione con relativo messaggio di errore tramite l istruzione: form_login('registrazione',$msg); Se invece non si proviene dal modulo di registrazione, si visualizza quest ultimo. auth.php Questa libreria è il cuore del nostro sistema di script di autenticazione. Esaminiamo un blocco alla volta : function form_login($action,$msg=' ') { $action1=$action.'.php'; echo " <HTML><HEAD><TITLE>$action</TITLE></HEAD> <BODY><FORM action='$action1' method='post'> <TABLE border='1' align='center'><tr><td colspan=2> Form di $action <TR><TD>Username :</TD> <TD><INPUT type='text' name='username' size='10' maxlength='10'> <TR><TD>Password :</TD> <TD><INPUT type='password' name='password' size='10' maxlength='10'> <TR><TD colspan=2> $msg <TR><TD colspan=2> <INPUT type='submit' value='$action'> </TABLE></FORM></BODY></HTML>"; La funzione form_login() visualizza un modulo che, a seconda dell action, risulta puntare allo script di registrazione o di login, impostandola, all atto della chiamata, proprio come il nome del file a cui si vuol far puntare lo script. Il messaggio di errore è vuoto per default. function registra($usr,$passwd,&$uid) { include("corso.inc.php"); $conn=connect($host,$user,$pass,$db); $query="select * FROM Users WHERE username='$usr'"; $res=mysql_query($query,$conn) or die(mysql_error()); if (mysql_num_rows($res)==0) { $passwd=md5($passwd); $uid=md5(uniqid(rand())); $query_ok="insert INTO Users VALUES('$uid','$usr','$passwd')"; mysql_query($query_ok,$conn); $msg=''; mysql_close($conn); $msg='user_id già presente. Sceglierne un altro';
5 Questa funzione viene richiamata per la registrazione dell utente. Si controlla prima se nel database è già presente la username scelta (in questo caso il messaggio di errore ritornato non è vuoto). Se non è presente, si cripta la password con la funzione md5() e si genera un userid con una combinazione md5(), uniqueid() e rand(), per far in modo che l userid generato sia univoco (anche se c è un piccolo margine di probabilità che questo non accada). I dati così ottenuti vengono inseriti nel database e la funzione ritorna la variabile $msg come vuota, per indicare il successo dell operazione. Inoltre, la variabile $uid, passata per riferimento, all uscita della funzione sarà automaticamente registrata come variabile di sessione. function login($usr,$passwd,&$uid) { include("corso.inc.php"); $conn=connect($host,$user,$pass,$db); $passwd=md5($passwd); $query="select * FROM Users WHERE username='$usr' AND password='$passwd'"; $res=mysql_query($query,$conn); if (mysql_num_rows($res)!=0) { $row=mysql_fetch_row($res); $msg=''; $uid=$row[0]; mysql_close($conn); $msg='username o password errata.riprovare'; Questo è l ultimo blocco della nostra libreria e consiste nella funzione login(). La sua interfaccia e la sua logica di funzionamento è simile a quella della funzione registra(), ma in questo caso ci limitiamo soltanto a verificare la presenza della coppia username-password proveniente dal form di login. Se tale coppia è presente nel nostro database di utenti, allora poniamo $uid pari al campo corrispondente presente nel record prelevato. Tale variabile viene così registrata, garantendo l accesso alla pagina protetta pagina.php. Se non ci sono righe presenti, si ottiene un errore e si ritorna un messaggio di errore senza settare la variabile $uid, rendendo impossibile l accesso all area riservata agli utenti autenticati. Questa interessante lezione (spero pensiate lo stesso anche voi!) è terminata. Nella prossima si parlerà di uno degli aspetti che caratterizzano la programmazione web professionale : il templating.?2002 By Domenico Nappo, Domenico Surace e Manuali.net L autore declina ogni responsabilità per eventuali (quanto improbabili) danni recati al sistema per l uso degli script di esempio riportati in questa guida.
Procedura di login e sessione
Procedura di login e sessione Costruire una pagina Web con un form di login per l inserimento delle credenziali dell utente (email, password). Si consideri il database db1 su server MySQL con la tabella
La connessione ai database MySQL tramite script PHP versione 5.5
La connessione ai database MySQL tramite script PHP versione 5.5 Php è un linguaggio di scripting che estende le funzionalità del server Web, mentre MySQL è un programma server che si occupa della gestione
2011 Politecnico di Torino 1
SQL per le applicazioni Esercitazione PHP e MySQL Svolgimento D B M G Passi di risoluzione creazione e popolamento della base di dati Creazione di un script SQL Passo 2 creazione di una query d interrogazione
Per poter interagire con un database in rete mediante uno script php bisogna. innanzitutto cerare una connessione. Ciò si ottiene mediante la funzione
MYSQL E PHP Per poter interagire con un database in rete mediante uno script php bisogna innanzitutto cerare una connessione. Ciò si ottiene mediante la funzione MySQL_connect(nome del host, nome utente,
Connessione con MySQL
Connessione con MySQL Architettura Server-Side Eventuali parametri cookie sessioni Elaborazione SELECT... DATABASE Quando i dati sono molti e la persistenza deve andare altre la sessione o la durata
MY SQL Guida MySQL di base
2017 MY SQL Guida MySQL di base Progetto di Alternanza Scuola-Lavoro Anno scolastico 2016-2017 Istituto Tecnico Enrico Fermi, Siracusa Eleonora SikeWEB 15/05/2017 MySQL Collegarsi ad un database e interagire
Connessione con MySQL
Connessione con MySQL Architettura Server-Side Eventuali parametri cookie sessioni Elaborazione SELECT... DATABASE Quando i dati sono molti e la persistenza deve andare altre la sessione o la durata
Esercitazione PAM. (Php Apache MySQL)
Prerequisiti: Esercitazione PAM (Php Apache MySQL) Installazione del server Apache: avvenuta; Installazione del server Php: avvenuta; Sincronizzazione dei due server: avvenuta. Abstract: L esercitazione
Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014
Laboratorio Progettazione Web PHP e MySQL Andrea Marchetti IIT-CNR 2013/2014 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation Application Storage PHP e DataBase Quando
Laboratorio di Progettazione Web
PHP e MySQL (2) Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR - [email protected] Nelle pagine web, quando le tabelle sono molto complesse, può risultare utile suddividere la visualizzazione
Obiettivo dell esercitazione
Database e Web - Esercitazioni ASP - Andrea Proli [email protected] Laboratorio di Basi di Dati A.A. 2005/2006 Obiettivo dell esercitazione L obiettivo finale dell esercitazione è quello di creare
ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.
ACCESS Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati. Database Relazionale: tipo di database attualmente più diffuso grazie alla
Installazione di EasyPhp. Avviare EasyPhp. La finestra di amministrazione di EasyPhp
Installazione di EasyPhp Scaricare la versione più recente di EasyPhp dal sito ufficiale (http://www.easyphp.org/). Scegliere la versione di sviluppo (DEVELOPMENT SERVER) più adatta al proprio sistema
Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR [email protected] 2012/2013
Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR [email protected] 2012/2013 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation
Lavorare con MySQL Parte Seconda.
Lavorare con MySQL Parte Seconda. PHP, dalla versione 4.0, usufruisce difunzioni native per colloquiare con MySQL, senza appoggiarsi ad alcuna libreria o modulo esterno. In questa lezione verranno esaminate
Sicurezza Informatica: Tecniche di SQL INJECTION
Sicurezza Informatica: Tecniche di SQL INJECTION Pietro Bongli Aprile 2004 N.B. L'informazione contenuta in queste pagine è divulgata per scopi puramente didattici e non per ni illegali. Structured Query
Spiegazioni esercizio Gestione Tabella con PHP e MySQL
Spiegazioni esercizio Gestione Tabella con PHP e MySQL foglio_di_stile.css (foglio di stile esterno) Questo file contiene: 1. la struttura generale delle quattro pagine web dinamiche: index.php, inserisci.php,
PHP & MySQL. Giselda De Vita
PHP & MySQL Giselda De Vita - 2014 1 Per creare un applicazione WEB su APACHE, in linguaggio PHP, con Base Dati MySQL, possiamo lavorare in locale o in rete. Per lavorare in locale abbiamo bisogno di installare
M963 ESAME DI STATO DI ISTRUZIONE SECONDARIA SUPERIORE Indirizzo: INFORMATICA E TELECOMUNICAZIONI ARTICOLAZIONE INFORMATICA Tema di: INFORMATICA
M963 ESAME DI STATO DI ISTRUZIONE SECONDARIA SUPERIORE Indirizzo: INFORMATICA E TELECOMUNICAZIONI ARTICOLAZIONE INFORMATICA Tema di: INFORMATICA Il candidato svolga la prima parte della prova e risponda
Manuale utente Gestione Utenti Portale Albo
ManualeUtente_GestioneUtentiPortaleAlbo Ministero delle Infrastrutture e dei Trasporti DIPARTIMENTO PER I TRASPORTI, LA NAVIGAZIONE ED I SISTEMI INFORMATIVI E STATISTICI Direzione Generale per la Motorizzazione
Laboratorio Progettazione Web PHP e FORMs HTML - Lezione 8. Andrea Marchetti IIT-CNR 2011/2012
Laboratorio Progettazione Web PHP e FORMs HTML - Lezione 8 Andrea Marchetti IIT-CNR [email protected] 2011/2012 Architettura di una applicazione Web Browser Web HTTP Server Web Dati View Control
LO SVOLGIMENTO DEL TEMA DI INFORMATICA
LO SVOLGIMENTO DEL TEMA DI INFORMATICA Si richiede un progetto di ampio respiro: servirebbe più tempo per l'elaborazione Argomenti noti ai candidati, ma le richieste prevedono un'analisi approfondita.
Interazione con l utente : i moduli.
Interazione con l utente : i moduli. Nelle lezioni fin qui riportate, non abbiamo mai trattato l input di utente. Nelle applicazioni web, l input dell utente si acquisisce tramite i moduli (o FORM) HTML.
RELAZIONE TECNICA GESTIONE CARTE DI CREDITO. a cura di EMANUELE CESARI
RELAZIONE TECNICA GESTIONE CARTE DI CREDITO a cura di EMANUELE CESARI 1 INDICE ARGOMENTO: PAGINA 1. Traccia del problema 3 2. Analisi di massima e spiegazione 4-11 3. Modello Er 12 4. Scema Relazionale
Manuale utente Gestione Utenti Portale Albo
ManualeUtente_GestioneUtentiPortaleAlboManualeUtente_GestioneUtentiPortaleAlbo.docx Ministero delle Infrastrutture e dei Trasporti DIPARTIMENTO PER I TRASPORTI, LA NAVIGAZIONE ED I SISTEMI INFORMATIVI
Soluzione traccia Informatica simulazione d esame di Stato Istituto GAUSS. 15/04/2013
Soluzione traccia Informatica simulazione d esame di Stato Istituto GAUSS. 15/04/2013 Soluzione prima domanda Architettura L architettura è di tipo client server, l infrastruttura è Internet. In ciascuna
Manuale Utente Guglielmo SmartClient
Manuale Utente Guglielmo SmartClient Guida a Guglielmo SmartClient Versione: 1.0 Guglielmo Tutti i marchi citati all interno di questa guida appartengono ai loro legittimi proprietari. -2- 1. Introduzione
Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR [email protected] 2011/2012
Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR [email protected] 2011/2012 Architettura di una applicazione Web Browser Web HTTP Server Web PHP Dati View Control
RELAZIONE PROGETTO DATABASE GESTIONE BIBLIOTECA PERSONALE
RELAZIONE PROGETTO DATABASE GESTIONE BIBLIOTECA PERSONALE Mameli Salvatore-M01/000153 SOMMARIO 1 INTRODUZIONE 1.1 Project Overview 1.2 Ambiente del prodotto 1.3 Document Overview 2 - PROGETTAZIONE 2.1
PHP e MySQL. Scripting server-side per accesso a DB MySQL
PHP e MySQL Scripting server-side per accesso a DB MySQL Connessione a un DB MySQL Prima di accedere ai dati è necessario creare una connessione con il DB In PHP si utilizza la funzione mysql_connect,
GADWEB 2.0 news REGISTRAZIONE UTENTI e Nuove funzioni ADMIN
NEWS 07-12-2016 GADWEB 2.0 news REGISTRAZIONE UTENTI e Nuove funzioni ADMIN Oggetto : Gestione Registrazione Utenti per richiesta dati di accesso al B2B - L attivazione delle funzioni di Registrazione
Esercizi su JavaScript, DOM e Web Storage
Linguaggi e tecnologie per il Web prof. Riccardo Rosati Corso di laurea in Ingegneria informatica e automatica Sapienza Università di Roma, a.a. 2017/2018 Esercizi su JavaScript, DOM e Web Storage Esercizio
PHP e Structured Query Language
Esercitazioni del corso di Tecnologie per la Comunicazione Aziendale PHP e Structured Query Language Marco Loregian [email protected] www.siti.disco.unimib.it/didattica/tca2008 Interrogazioni (ripasso)
VIVAIO LAUDENSE RELAZIONE
VIVAIO LAUDENSE RELAZIONE Consegna Un vivaio di Lodi vuole realizzare un sito Web per gestire le proprie attività di vendita di piante e le attività esterne. Si vogliono memorizzare, oltre alle informazioni
Corso di Sicurezza Informatica. Sicurezza del software. Ing. Gianluca Caminiti
Corso di Sicurezza Informatica Sicurezza del software Ing. Gianluca Caminiti SQL Injection Sommario Premessa sul funzionamento dei siti dinamici SQL Injection: Overview Scenari di attacco: Errata gestione
ESAME DI STATO I.T.E. A.S
ESAME DI STATO I.T.E. A.S. 2012-2013 Un grande museo deve realizzare un Sistema Informatico per la gestione della biglietteria online. La biglietteria online consentirà di acquistare i biglietti sia per
Non vedo l ora Realizzazione di un sistema per la gestione dell orario scolastico
Non vedo l ora Realizzazione di un sistema per la gestione dell orario scolastico Paride Cirillo Come sta cambiando la scuola Lo sviluppo tecnologico legato alla realizzazione di computer sempre più performanti
PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas
PHP A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas Copyright Istituto Italiano Edizioni Atlas Programmazione lato server PHP è un linguaggio che estende le funzionalità
MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.c Cookies e sessioni. Goy - a.a. 2012/2013 Programmazione Web 1
MODULO 1 PARTE 3 Programmazione (scripting) server-side con PHP 3.c Cookies e sessioni Goy - a.a. 2012/2013 Programmazione Web 1 Cookie - I Cookie = variabili che il server salva (*) sul client come file
SOLUZIONE ESAME DI STATO 2014/2015 INFORMATICA. Giselda De Vita 2015
SOLUZIONE ESAME DI STATO 2014/2015 INFORMATICA Giselda De Vita 2015 La traccia di esame, pubblicata dal Ministero, si trova al seguente link: esame 2015 Di seguito si riporta la soluzione della prima parte
Guida introduttiva al PHP
Fabio Castellini 26/01/2016 Guida introduttiva al PHP Cos'è il PHP? Il PHP è un linguaggio di scripting interpretato, simile al JavaScript, per intenderci, originariamente concepito per la programmazione
Punti Internet Provincia di Torino. Manuale Utente
Punti Internet Provincia di Torino Manuale Utente PUNTI INTERNET - MANUALE UTENTE Pag. 1 di 26 INDICE 1. INTRODUZIONE...2 2. UTILIZZO DEL SERVIZIO...2 2.1 CONFIGURAZIONE PER ACCESSO WI-FI...2 2.2 ACCESSO
Registrazione al Portale SINTESI Istruzione 7537
Registrazione al Portale SINTESI Istruzione 7537 Il portale SINTESI è il sistema integrato dei servizi per l impiego adottato dalla Provincia di Brescia. Il portale è costituito da un area pubblica, accessibile
Data di emissione: 17/05/2011
Cedolino Elettronico Manuale Utente Dipendente Data di emissione: 17/05/2011 N.ro versione: 1.0 N.ro pagine: 7 MAN_MAN_CEDEL_dipendente_v_1.0.doc Pag. 1 SOMMARIO 1 INTRODUZIONE... 3 2 USO DEL SISTEMA...
Disabilitare il cambio password in WordPress
Disabilitare il cambio password in WordPress lunedì, 20 Maggio 2019 Oltre alla classica possibilità di cambiare la password dalla pagina di modifica del proprio profilo, come impostazione predefinita,
Magazzino: software di gestione di un database di strumenti musicali
Magazzino: software di gestione di un database di strumenti musicali Questo programma è un'applicazione Windows Form che si occupa della gestione di un magazzino virtuale di strumenti musicali. In questa
Obiettivi d esame PHP Developer Fundamentals on MySQL Environment
Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web
D B M G Il linguaggio HTML
Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form @2011 Politecnico di Torino 1 Concetti
SOLUZIONE ESAME DI STATO 2014/2015 INFORMATICA. Giselda De Vita 2015
SOLUZIONE ESAME DI STATO 2014/2015 INFORMATICA Giselda De Vita 2015 1 Analisi Un analisi della realtà di riferimento individuando le possibili soluzioni e scelga quella che a suo motivato giudizio è la
EdilConnect. Cremona, 30 maggio 2017
EdilConnect Cremona, 30 maggio 2017 Agenda! Scadenze utili! Registrazione e accesso al portale! Uso di EdilConnect (guida pratica alle principali funzioni del portale)! Sul sistema di denuncia per cantiere!
SISTEMA INFORMATIVO PER LA GESTIONE VIA WEB DEL NUOVO CIMITERO DEL COMUNE DI GIFFENGA
Titolo del progetto SISTEMA INFORMATIVO PER LA GESTIONE VIA WEB DEL NUOVO CIMITERO DEL COMUNE DI GIFFENGA Corso di TECNOLOGIA E APPLICAZIONI DELLA RETE INTERNET (Corso di Laurea in Ingegneria Elettronica)
LINEE GUIDA e ISTRUZIONI TECNICHE
Pag.1 di 21 Servizio attività ricreative e sportive LINEE GUIDA e ISTRUZIONI TECNICHE per la compilazione e gestione online delle domande di contributo www.fvgsport.it Pag.2 di 21 INDICE 1. Introduzione...3
