Node.js + Drupal. Luca Lusso. giovedì 1 dicembre 11

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Node.js + Drupal. Luca Lusso. giovedì 1 dicembre 11"

Transcript

1 Node.js + Drupal Luca Lusso

2 Agenda Cos è e come funziona node.js Installare node.js Code session: realizzazione si un modulo per l autocompletamento dei tags Demo session: installare e usare il modulo nodejs

3 Cos è e come funziona node.js Javascript sul server Basato su V8 di Google (il motore javascript di Chrome) Event driven I/O asincrono (mediante librerie esterne)

4 Cos è e come funziona node.js Un singolo processo gestisce il main event loop e tutte le connessioni (singolo thread) I task sono eseguiti in modo asincrono lasciando il main event loop libero di gestire altre richieste Anche nginx usa lo stesso modello semplicemente perché per una concorrenza massiva non possiamo usare un thread del sistema operativo per ogni connessione, è troppo pesante.

5 Cos è e come funziona node.js node processo di I/O (lento) processo di I/O A B C

6 Node.js può essere usato per Gestire la concorrenza I/O asincrono Networking Caricamento asincrono di componenti di una pagina via Ajax

7 Installare node.js Ultima versione stabile (0.4.12) disponibile per ambienti Unix (Linux, Mac Os X) Versione unstable (0.5.x) aggiunge il supporto a Windows github.com/joyent/node/wiki/installation Per Mac Os X è disponibile l installer, per Linux basta scaricare e compilare :-)

8 Installare node.js NPM (Node Package Manager) Gestisce il download e l installazione delle librerie aggiuntive curl sudo sh #> npm install express

9 Hello world (hello.js) var http = require('http'); http.createserver(function (request, response) { console.log('request received ); response.writehead(200, {'Content-Type': 'text/plain'}); response.end('hello World\n'); }).listen(8000); console.log('server running at

10 Hello world funkymac2:desktop lussoluca$ node hello.js Server running at Request received

11 Code session: realizzazione si un modulo per l autocompletamento dei tags Chiama Ajax per autocompletare i tags durante la digitazione Necessita un bootstrap completo di Drupal per gestire la richiesta /taxonomy/autocomplete/field_tags/a

12 Code session: realizzazione si un modulo per l autocompletamento dei tags express (http://expressjs.com) web framework per Node.js Nel nostro esempio usiamo solo il routing, ma fa anche middleware, template e altro mysql (github.com/felixge/node-mysql) driver MySQL per Node.js

13 Code session: realizzazione si un modulo per l autocompletamento dei tags var Client = require('mysql').client; var client = new Client(); client.user = 'root'; client.password = 'root'; client.port = 3306; client.database = 'nodejs';

14 Code session: realizzazione si un modulo per l autocompletamento dei tags var app = require('express').createserver(); app.get('/autocomplete/:vid/:id', function(req, res) {

15 Code session: realizzazione si un modulo per l autocompletamento dei tags var query = client.query( 'SELECT * FROM [...]', [vid, arg, tags.join(',')], function selectcb(err, results, fields) { if (err) { }); } throw err; var names = {}; var prefix = (tags.length > 0)? tags.join(',') + ', ' : ''; for (var i in results){ var result = results[i]; } names[prefix + result.name] = result.name; res.write(json.stringify(names)); res.end(); // end the request. Callback! Node.js non si ferma ad aspettare i risultati dal db, li invierà al client quando saranno pronti!

16 Code session: realizzazione si un modulo per l autocompletamento dei tags app.listen(3000);

17 Code session: realizzazione si un modulo per l autocompletamento dei tags

18 Code session: realizzazione si un modulo per l autocompletamento dei tags function _test() { $form = array(); $form['name_nodejs'] = array( '#type' => 'textfield', '#title' => t('tags Node.js version'), '#autocomplete_path' => '/autocomplete/1', '#size' => '100', '#maxlength' => '100', ); $form['name_drupal'] = array( '#type' => 'textfield', '#title' => t('tags drupal version'), '#autocomplete_path' => 'taxonomy/autocomplete/field_tags', '#size' => '100', '#maxlength' => '100', ); } return $form;

19 Code session: realizzazione si un modulo per l autocompletamento dei tags /autocomplete/1/% non è un path Drupal Necessario per bypassare il problema del cross domain scripting Bisogna configurare il mod_proxy di Apache (cosa simile per nginx)

20 Code session: realizzazione si un modulo per l autocompletamento dei tags <VirtualHost *:80> ServerAdmin ServerName DocumentRoot /var/www/example <Directory /var/www/example> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> Nella configurazione del VirtualHost diciamo ad Apache di girare le richieste alla url autocomplete al server Node.js in ascolto sulla porta 3000 ProxyPass /autocomplete ProxyPassReverse /autocomplete </VirtualHost>

21 Code session: realizzazione di un modulo per l autocompletamento dei tags Node.js: 15ms Chiamata standard Drupal: 131ms

22 Demo session: installare e usare il modulo nodejs drupal.org/project/nodejs Ancora in versione beta Canali multipli per inviare messaggi asincroni a tutti i client connessi al sito a seconda dei ruoli/permessi Basato su Socket.io, express e connect

23 Demo session: installare e usare il modulo nodejs Il modulo nodejs_config fornisce un interfaccia per creare il file di configurazione per il server, nodejs.config.js che deve stare nella stessa directory del file server.js backendsettings = { "scheme":"http", "host":"localhost", "port":4000, "key":"/path/to/key/file", "cert":"/path/to/cert/file", "resource":"/socket.io", "publishurl":"/nodejs/publish", "servicekey":"", "backend":{ "port":8080, "host":"nodejs", [...]

24 Demo session: installare e usare il modulo nodejs nodejs_notify -> notifiche growl like nodejs_subscribe -> notifica cambiamenti nei contenuti nodejs_actions -> action per inviare messaggi, usabile anche da Rules

25 Demo session: installare e usare il modulo nodejs client Richiesta iniziale Risposta con token di autenticazione Drupal Invio token node Verifica autenticazione Lista canali Autenticazione riuscita Le chiamate successive non passano più da Drupal

26 Domande?!

27 Grazie!

Installazione LAMP. Installare un server lamp su Linux Ubuntu. Per installare un server LAMP in Ubuntu come prima cosa apriamo il terminale:

Installazione LAMP. Installare un server lamp su Linux Ubuntu. Per installare un server LAMP in Ubuntu come prima cosa apriamo il terminale: Installazione LAMP Installare un server lamp su Linux Ubuntu Per installare un server LAMP in Ubuntu come prima cosa apriamo il terminale: Poi copiamo ed incolliamo nel terminale il comando: sudo apt-get

Dettagli

Laboratorio di Progettazione Web

Laboratorio di Progettazione Web Il Server web Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR - c.renso@isti.cnr.it E un programma sempre attivo che ascolta su una porta le richieste HTTP. All arrivo di una richiesta

Dettagli

Concetti fondamentali

Concetti fondamentali Node.js Concetti fondamentali by Stefano Burigat Esecuzione asincrona Quasi tutte le funzioni in node vengono eseguite in modo asincrono (a tal punto che molte funzioni hanno una versione sincrona che

Dettagli

Node.js Introduzione alla programmazione Dott. Ing. Ivan Ferrazzi V1.0 del 05/11/2012

Node.js Introduzione alla programmazione Dott. Ing. Ivan Ferrazzi V1.0 del 05/11/2012 Node.js Introduzione alla programmazione Dott. Ing. Ivan Ferrazzi V1.0 del 05/11/2012 1/15 Copyright 2012 Dott.Ing. Ivan Ferrazzi Permission is granted to copy, distribute and/or modify this document under

Dettagli

Rapporto Tecnico N. 2 Ottobre 2012. IBIM Drive. Alessandro Pensato

Rapporto Tecnico N. 2 Ottobre 2012. IBIM Drive. Alessandro Pensato Rapporto Tecnico N. 2 Ottobre 2012 IBIM Drive Alessandro Pensato IBIM DRIVE Alessandro Pensato IBIM-CNR Ottobre 2012 ABSTRACT Con la diffusione dei dispositivi mobili e delle connessioni di rete sempre

Dettagli

CONFIGURAZIONE XAMPP + SSL (HTTPS)

CONFIGURAZIONE XAMPP + SSL (HTTPS) CONFIGURAZIONE XAMPP + SSL (HTTPS) a cura di Anna Marchese Questa guida consente di configurare Xampp per Windows 7, con il protocollo https (ovvero connessione sicura o protetta). Io ho installato Xampp

Dettagli

Event loop. Event Loop. Carica il programma, quindi. Finché c è altro da fare. Attendi che qualcosa accada. Termina, a meno che non ci sia altro

Event loop. Event Loop. Carica il programma, quindi. Finché c è altro da fare. Attendi che qualcosa accada. Termina, a meno che non ci sia altro NODE.JS Node.js Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight

Dettagli

I desiderata La progettazione MVC Organizzazione del codice. http://xkcd.com/244/

I desiderata La progettazione MVC Organizzazione del codice. http://xkcd.com/244/ http://xkcd.com/244/ Applicazioni Web 2010/11 Lezione 6: Esempio: TODO-List online multiutente Matteo Vaccari http://matteo.vaccari.name/ matteo.vaccari@uninsubria.it (cc) Matteo Vaccari. Published in

Dettagli

Web Server Benchmarking: Apache 2.4 vs Nginx 1.6.2

Web Server Benchmarking: Apache 2.4 vs Nginx 1.6.2 Web Server Benchmarking: Apache 2.4 vs Nginx 1.6.2 Ciro Amati, Stefania Cardamone Universitá degli Studi di Salerno February 16, 2015 Overview Introduzione Server Web Configurazione Software Hardware Parametri

Dettagli

Installazione e configurazione

Installazione e configurazione Globo srl Soluzioni avanzate per il territorio Viale Europa, 17/B 24048 Treviolo (BG) +39 035 596911 +39 035 596999 globo@pec.it info@globogis.it Reg.Impr. di BG - Cod.Fisc. - P.IVA 02598580161 Capitale

Dettagli

Introduzione a XAMPP. Andrea Atzeni (shocked@polito.it) Marco Vallini (marco.vallini@polito.it) Politecnico di Torino Dip. Automatica e Informatica

Introduzione a XAMPP. Andrea Atzeni (shocked@polito.it) Marco Vallini (marco.vallini@polito.it) Politecnico di Torino Dip. Automatica e Informatica Introduzione a XAMPP Andrea Atzeni (shocked@polito.it) Marco Vallini (marco.vallini@polito.it) Politecnico di Torino Dip. Automatica e Informatica Introduzione applicazione web richiede diversi componenti

Dettagli

Elementi di Sicurezza e Privatezza Laboratorio 4. Chiara Braghin. Caso di studio: Apache Web Server

Elementi di Sicurezza e Privatezza Laboratorio 4. Chiara Braghin. Caso di studio: Apache Web Server Elementi di Sicurezza e Privatezza Laboratorio 4 Chiara Braghin Caso di studio: Apache Web Server 1 References Pagina web di Apache http://httpd.apache.org Pagina relativa al modulo di autenticazione http://httpd.apache.org/docs/2.2/howto/auth.html

Dettagli

Il server web: Apache, IIS e PWS

Il server web: Apache, IIS e PWS IL SERVER WEB Corso WebGIS - Master in Sistemi Informativi Territoriali AA 2005/2006 ISTI- CNR c.renso@isti.cnr.it Il server web: Apache, IIS e PWS...1 Directory di default...2 Alias e cartelle virtuali...3

Dettagli

XAMPP (a cura di Michele Acierno a.a. 2012/2013)

XAMPP (a cura di Michele Acierno a.a. 2012/2013) XAMPP (a cura di Michele Acierno a.a. 2012/2013) Sommario 1. Introduzione 2.Installazione Xampp 3.Avviare Xampp 4.Configurazione Xampp 4.1 DocumentRoot e standard Directory 4.2 Forbidden Access e accesso

Dettagli

Configurazione avanzata di XAMPP

Configurazione avanzata di XAMPP Configurazione avanzata di XAMPP Andrea Atzeni (shocked@polito.it) Marco Vallini (marco.vallini@polito.it) Politecnico di Torino Dip. Automatica e Informatica Apache Binding definisce su quali indirizzi

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

INFORMATICA DISTRIBUITA. lez 5 World Wide Web (cont)

INFORMATICA DISTRIBUITA. lez 5 World Wide Web (cont) INFORMATICA DISTRIBUITA prof. lez 5 World Wide Web (cont) Università degli Studi di Milano Scienze e Tecnologie della Comunicazione Musicale a.a. 2009-2010 Protocolli usabili nelle URL http: ftp: : http://www.dico.unimi.it/

Dettagli

Creare un portale web con strumenti Open Source

Creare un portale web con strumenti Open Source Creare un portale web con strumenti Open Source Il caso di Arsié http://www.arsie.net 1/30 Lucia De Pasqual lucia@arsie.net BLUG - Belluno Linux User Group http://belluno.linux.it CMS e Portali Content

Dettagli

Ottimizzare Drupal su IIS 7.5

Ottimizzare Drupal su IIS 7.5 Alessandro Pilotti MVP ASP.Net / IIS Microsoft Certified Professional & Trainer MCSD, MCAD, MCSE, MCDBA, MCTS, MCT RHCE - Red Hat Certified Engineer http://blogs.ugidotnet.org/soaringcode Ottimizzare Drupal

Dettagli

Completamento installazione

Completamento installazione I.S. Sobrero Dipartimento di Informatica Completamento installazione install.linux@home 1 I gestori dei pacchetti Vi sono due alternative con Ubuntu: Synaptic, in modalità grafica; Advanced Packaging Tool

Dettagli

Elementi di Sicurezza e Privatezza Laboratorio 3 - Web Server Apache (1) Chiara Braghin chiara.braghin@unimi.it!

Elementi di Sicurezza e Privatezza Laboratorio 3 - Web Server Apache (1) Chiara Braghin chiara.braghin@unimi.it! Elementi di Sicurezza e Privatezza Laboratorio 3 - Web Server Apache (1) Chiara Braghin chiara.braghin@unimi.it! Sicurezza del Web server Sicurezza Web Server (1) Perché attaccare un Web server? w Per

Dettagli

Sicurezza del Web server

Sicurezza del Web server Elementi di Sicurezza e Privatezza Laboratorio 3 - Web Server Apache (1) Chiara Braghin chiara.braghin@unimi.it! Sicurezza del Web server 1 Sicurezza Web Server (1) Perché attaccare un Web server? w Per

Dettagli

CONFIGURAZIONE WAMP SERVER + SSL (HTTPS)

CONFIGURAZIONE WAMP SERVER + SSL (HTTPS) CONFIGURAZIONE WAMP SERVER + SSL (HTTPS) Questa guida consente di configurare Wampserver per Windows XP, con il protocollo https (ovvero connessione sicura o protetta). Effettuare una copia di backup dei

Dettagli

in collaborazione con l'università degli studi di Bergamo Facoltà d'ingegneria presenta:

in collaborazione con l'università degli studi di Bergamo Facoltà d'ingegneria presenta: in collaborazione con l'università degli studi di Bergamo Facoltà d'ingegneria presenta: Linux Day 29 novembre 2003 Marco Morosini Linux Day 29 novembre 2003 Una breve panoramica sul proxy più utilizzato

Dettagli

Web Server. Corso di Applicazioni Telematiche. A.A. 2006-07 Lezione n.5 Prof. Roberto Canonico

Web Server. Corso di Applicazioni Telematiche. A.A. 2006-07 Lezione n.5 Prof. Roberto Canonico Web Server Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.5 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Web Server Per realizzare un sistema web

Dettagli

Corso LAMP. Linux Apache Mysql Php

Corso LAMP. Linux Apache Mysql Php Corso LAMP Linux Apache Mysql Php Terzo Incontro * Reti basate su TCP/IP * Impostazione della rete su GNU/Linux * Gestione del software su Debian e derivate * Il web Server Apache * Configurazione principale

Dettagli

Argomenti Percorso 7 Apache HTTP

Argomenti Percorso 7 Apache HTTP Apache httpd Directory importanti File di configurazione Permessi d accesso Virtual Host Moduli ed estensioni SSL e https PHP Argomenti Percorso 7 Apache HTTP 2 httpd.apache.org Percorso 7 Apache HTTP

Dettagli

Corso di programmazione di sistemi mobile 1. Android. Google Cloud Messaging

Corso di programmazione di sistemi mobile 1. Android. Google Cloud Messaging Corso di programmazione di sistemi mobile 1 Android Google Cloud Messaging Corso di programmazione di sistemi mobile 2 Cos è Il Google Cloud Messaging o GCM è un servizio di Google che permette di inviare

Dettagli

GPL4i DMS-WEB. Copyright 2010 2014 JetLab S.r.l. Tutti i diritti riservati

GPL4i DMS-WEB. Copyright 2010 2014 JetLab S.r.l. Tutti i diritti riservati GPL4i DMS-WEB Copyright 2010 2014 JetLab S.r.l. Tutti i diritti riservati Copyright 2014 2015 JetLab S.r.l. Tutti i diritti riservati GPL4i è un marchio di JetLab S.r.l. Microsoft, Windows, Windows NT,

Dettagli

File system, http, database e altro

File system, http, database e altro Node.js File system, http, database e altro by Stefano Burigat Passaggio di argomenti Nelle applicazioni node, è possibile accedere agli argomenti passati all'avvio da riga di comando tramite la proprietà

Dettagli

Introduzione a PHP Gestione dei Dati e della Conoscenza

Introduzione a PHP Gestione dei Dati e della Conoscenza Introduzione a PHP Gestione dei Dati e della Conoscenza Diego De Cao, Roberto Basili {decao,basili}@info.uniroma2.it a.a. 2008/2009 PHP Overview PHP (acronimo ricorsivo per "PHP: Hypertext Preprocessor")

Dettagli

Download, configurazione ed installazione di apache

Download, configurazione ed installazione di apache INDICE INDICE... - 1 - Introduzione... - 3 - Caratteristiche principali... - 3 - Breve descrizione dell architettura... - 3 - Download, configurazione ed installazione di apache... - 3 - Configurazione

Dettagli

Setup dell ambiente virtuale

Setup dell ambiente virtuale Setup dell ambiente virtuale 1.1 L immagine per le macchine virtuali Il file mininet-vm-x86 64.qcow è l immagine di una memoria di massa su cui è installato un sistema Linux 3.13 Ubuntu 14.04.1 LTS SMP

Dettagli

WAMP: Apache, MySql, PHP per ambienti Windows

WAMP: Apache, MySql, PHP per ambienti Windows WAMP: Apache, MySql, PHP per ambienti Windows A cura di Silvio Bonechi per http://www.pctrio.com Ver. 1.0 del 03.03.06 Indice 1 WAMP un paradigma per l ambiente Windows: i programmi 2 EasyPHP, il nostro

Dettagli

A. Lorenzi Pagine ASP

A. Lorenzi Pagine ASP Pagine ASP Web server software per la gestione di un computer host Internet oppure di un server di rete, che mette a disposizione dati o applicativi per gli utenti della rete Web server IIS (Internet Information

Dettagli

Introduzione a XAMPP. Andrea Atzeni (shocked@polito.it) Marco Vallini (marco.vallini@polito.it) Politecnico di Torino Dip. Automatica e Informatica

Introduzione a XAMPP. Andrea Atzeni (shocked@polito.it) Marco Vallini (marco.vallini@polito.it) Politecnico di Torino Dip. Automatica e Informatica Introduzione a XAMPP Andrea Atzeni (shocked@polito.it) Marco Vallini (marco.vallini@polito.it) Politecnico di Torino Dip. Automatica e Informatica Introduzione applicazione web richiede diversi componenti

Dettagli

Apache Webserver. Piccola introduzione all'installazione ed alla configurazione, a cura di: Alessandro Gervaso

Apache Webserver. Piccola introduzione all'installazione ed alla configurazione, a cura di: Alessandro Gervaso Apache Webserver Piccola introduzione all'installazione ed alla configurazione, a cura di: Alessandro Gervaso Cos'è Apache? Dal sito http://httpd.apache.org: The Apache HTTP Server Project is an effort

Dettagli

Configurazione di sicurezza di XAMPP

Configurazione di sicurezza di XAMPP Configurazione di sicurezza di XAMPP Andrea Atzeni (shocked@polito.it) Marco Vallini (marco.vallini@polito.it) Politecnico di Torino Dip. Automatica e Informatica Siti web sicuri alcuni siti web possono

Dettagli

Apache: A PAtCHy server (http://httpd.apache.org)

Apache: A PAtCHy server (http://httpd.apache.org) Il server Web Apache Apache Apache: A PAtCHy server (http://httpd.apache.org) Sviluppato sulla base del server NCSA a partire dal 1994 Versione più recente: Apache 2.2 (ultima release: Apache 2.2.10) Free

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Servizi di rete e web. Prof. Maurizio Naldi A.A. 2015/16

Servizi di rete e web. Prof. Maurizio Naldi A.A. 2015/16 Servizi di rete e web Prof. Maurizio Naldi A.A. 2015/16 Applicazione Unità di trasmissione dati a livello applicazione Applicazione Presentazione Unità di trasmissione dati a livello presentazione Presentazione

Dettagli

Il server Web Apache. Apache: caratteristiche

Il server Web Apache. Apache: caratteristiche Il server Web Apache Valeria Cardellini Università di Roma Tor Vergata Apache: caratteristiche Apache: A PAtCHy Server (http://httpd.apache.org) Sviluppato sul server NCSA a partire dal 1994 Versione più

Dettagli

Corso di Applicazioni Telematiche

Corso di Applicazioni Telematiche Asynchronous JavaScript Technology and XML: Ajax Corso di Applicazioni Telematiche A.A. 2010-11 Prof. Simon Pietro Romano Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rich Internet

Dettagli

Corso App modulo Android. Antonio Gallo info@laboratoriolibero.com

Corso App modulo Android. Antonio Gallo info@laboratoriolibero.com Corso App modulo Android Antonio Gallo info@laboratoriolibero.com Strumentazione: PC + smartphone Android + cavo micro USB per connessione Framework Phonegap SDK di Android JDK (Java) Eclipse (opzionale)

Dettagli

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

Installazione & Configurazione Php e MySQL su Mac Os X. Php Installazione & Configurazione Php e MySQL su Mac Os X Php PHP è un linguaggio di scripting interpretato, con licenza Open Source, originariamente concepito per la realizzazione di pagine web dinamiche.

Dettagli

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer Tecnologie per il Web Il web: architettura e tecnologie principali Una analisi delle principali tecnologie per il web Tecnologie di base http, ssl, browser, server, firewall e proxy Tecnologie lato client

Dettagli

Apache e la Sicurezza

Apache e la Sicurezza Apache e la Sicurezza Introduzione Purtroppo il web server rappresenta sempre un punto di debolezza in una rete, attraverso di esso spesso si possono effettuare delle vere e proprie intrusioni sul sistema.

Dettagli

Installazione Shibboleth Service Provider su Debian-Linux

Installazione Shibboleth Service Provider su Debian-Linux Installazione Shibboleth Service Provider su Debian-Linux 28 Gennaio 2015 Autori: Marco Malavolti Credits: Shibboleth, SWITCH AAI Indice generale 1) Introduzione...3 2) Software da installare...3 3) Richiedere

Dettagli

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014

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

Dettagli

TeamPortal. Infrastruttura

TeamPortal. Infrastruttura TeamPortal Infrastruttura 05/2013 TeamPortal Infrastruttura Rubriche e Contatti Bacheca Procedure Gestionali Etc Framework TeamPortal Python SQL Wrapper Apache/SSL PostgreSQL Sistema Operativo TeamPortal

Dettagli

Web e HTTP. path name. host name Realizzato da Roberto Savino. www.someschool.edu/somedept/pic.gif

Web e HTTP. path name. host name Realizzato da Roberto Savino. www.someschool.edu/somedept/pic.gif Web e HTTP Terminologia Una pagina web consiste di oggetti Un oggetto può essere un file HTML, una immagine JPG, ecc. Una pagina web consiste di un file HTML base che fa riferimento a diversi oggetti al

Dettagli

AJAX. Goy - a.a. 2006/2007 Servizi Web 1. Cos'è il Web 2.0

AJAX. Goy - a.a. 2006/2007 Servizi Web 1. Cos'è il Web 2.0 AJAX Goy - a.a. 2006/2007 Servizi Web 1 Cos'è il Web 2.0 Web 2.0 = termine introdotto per la prima volta nel 2004 come titolo di una conferenza promossa dalla casa editrice O Reilly L'idea è che ci si

Dettagli

RenderCAD S.r.l. Formazione

RenderCAD S.r.l. Formazione Corso Descrizione La durata di questo corso è complessivamente di ore 150 di cui 85 ore di teoria, 35 ore di pratica e 30 ore di stage in azienda. Nel nostro territorio esiste una richiesta di tale figura,

Dettagli

Il server Web Apache. Apache

Il server Web Apache. Apache Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Il server Web Apache Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 2008/09 Apache Apache: A PAtCHy server (http://httpd.apache.org)

Dettagli

Gli XML Web Service. Prof. Mauro Giacomini. Complementi di Informatica Medica 2008/2009 1

Gli XML Web Service. Prof. Mauro Giacomini. Complementi di Informatica Medica 2008/2009 1 Gli XML Web Service Prof. Mauro Giacomini Medica 2008/2009 1 Definizioni i i i Componente.NET che risponde a richieste HTTP formattate tramite la sintassi SOAP. Gestori HTTP che intercettano richieste

Dettagli

Installazione e configurazione di Java DB in Windows (7)

Installazione e configurazione di Java DB in Windows (7) Installazione e configurazione di Java DB in Windows (7) Fig. 1 - Collegarsi al sito http://developers.sun.com/javadb/ e cliccare sul pulsante Download Now Fig. 2 - La versione disponibile più recente

Dettagli

Le novità di SharePoint 2010 per sviluppatori

Le novità di SharePoint 2010 per sviluppatori Ground Zero DotNetLombardia Le novità di SharePoint 2010 per sviluppatori Giuseppe Marchi SharePoint MVP Il Progetto SharePointCommunity.it Il progetto SharePoint Community nasce da diverse motivazioni:

Dettagli

Scritto da Administrator Martedì 21 Ottobre 2008 08:47 - Ultimo aggiornamento Lunedì 03 Ottobre 2011 09:56

Scritto da Administrator Martedì 21 Ottobre 2008 08:47 - Ultimo aggiornamento Lunedì 03 Ottobre 2011 09:56 Sommario - Introduzione - Impostare dei virtual host basati sul nome - Impostazione di un virtual host come sito predefinito - Impostazione di virtual host basati su indirizzo ip - Impostazione di sito

Dettagli

Programmazione server-side: Java Servlet

Programmazione server-side: Java Servlet Programmazione server-side: Java Servlet Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.11 parte II Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos

Dettagli

Se c'è un problema con la configurazione di PHP, il risultato del comando darà alcuni consigli su cosa sistemare e su come farlo.

Se c'è un problema con la configurazione di PHP, il risultato del comando darà alcuni consigli su cosa sistemare e su come farlo. Introduzione CELIA (Corpus Elettronico delle Lingue dell Italia Antica) è un software open source per la gestione dell epigrafia dei corpus di lingue antiche. È scritto in PHP grazie al framework symfony

Dettagli

GIS e Geo WEB: piattaforme e architetture. Docente: Cristoforo Abbattista email: abbattista@planetek.it

GIS e Geo WEB: piattaforme e architetture. Docente: Cristoforo Abbattista email: abbattista@planetek.it GIS e Geo WEB: piattaforme e architetture Docente: Cristoforo Abbattista email: abbattista@planetek.it V lezione Prodotti e tecnologie GIS e Geo WEB: piattaforme e architetture GIS e Geo WEB: piattaforme

Dettagli

TeamPortal. Servizi integrati con ambienti Gestionali

TeamPortal. Servizi integrati con ambienti Gestionali TeamPortal Servizi integrati con ambienti Gestionali 12/2013 Accesso da remoto Accesso da remoto Esempio 1 Sul Firewall devono essere aperte le porte 80 : http (o quella assegnata in fase di installazione/configurazione

Dettagli

HTTPD - Server web Apache2

HTTPD - Server web Apache2 Documentazione ufficiale Documentazione di Ubuntu > Ubuntu 9.04 > Guida a Ubuntu server > Server web > HTTPD - Server web Apache2 HTTPD - Server web Apache2 Apache è il server web più utilizzato nei sistemi

Dettagli

Velocizzare l'esecuzione di Joomla! con Zend Server Community Edition

Velocizzare l'esecuzione di Joomla! con Zend Server Community Edition Velocizzare l'esecuzione di Joomla! con Zend Server Community Edition Enrico Zimuel Senior Consultant & Architect Zend Technologies enrico@zend.com 9 Ottobre 2010 JoomlaDay Verona Sommario Zend Server

Dettagli

Liberamente adattato da Linux Server per l'amministratore di rete di Silvio Umberto Zanzi

Liberamente adattato da Linux Server per l'amministratore di rete di Silvio Umberto Zanzi Liberamente adattato da Linux Server per l'amministratore di rete di Silvio Umberto Zanzi Web server Apache Un sito web notoriamente è costituito da un insieme di pagine web tra loro collegate e contenenti

Dettagli

Brusò Marco I.T.I.S. Zuccante A.S. 2013/2014 5 ISA 1/28

Brusò Marco I.T.I.S. Zuccante A.S. 2013/2014 5 ISA 1/28 Brusò Marco I.T.I.S. Zuccante A.S. 2013/2014 5 ISA 1/28 Indice 1. Introduzione 2. Linux 3. Apache 4. MySQL 5. MariaDB 6. PHP 7. Perl 8. Phyton 9. Installazione Server LAMP su Ubuntu 10. Fonti 2/28 LAMP

Dettagli

Assignment (1) - Varie

Assignment (1) - Varie Elementi di Sicurezza e Privatezza Laboratorio 6 - Vulnerabilità di applicazioni Web (1) Chiara Braghin chiara.braghin@unimi.it! Assignment (1) - Varie Al link http://www.dti.unimi.it/braghin/ elementi/lab/lista_consegnati.pdf

Dettagli

Elementi di Sicurezza e Privatezza Laboratorio 6 - Vulnerabilità di applicazioni Web (1) Chiara Braghin chiara.braghin@unimi.it!

Elementi di Sicurezza e Privatezza Laboratorio 6 - Vulnerabilità di applicazioni Web (1) Chiara Braghin chiara.braghin@unimi.it! Elementi di Sicurezza e Privatezza Laboratorio 6 - Vulnerabilità di applicazioni Web (1) Chiara Braghin chiara.braghin@unimi.it! Assignment (1) - Varie Al link http://www.dti.unimi.it/braghin/ elementi/lab/lista_consegnati.pdf

Dettagli

Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda)

Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda) Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda) Il candidato realizzi inoltre il sito Internet del centro che deve permettere, tra

Dettagli

FASE 1: Definizione del tema, degli obiettivi e del target con il cliente... (da cui dipendono le scelte successive!)

FASE 1: Definizione del tema, degli obiettivi e del target con il cliente... (da cui dipendono le scelte successive!) Panoramica sul Web design: FASE 1: Definizione del tema, degli obiettivi e del target con il cliente... (da cui dipendono le scelte successive!) FASE 2: Definire se lavorare su un CMS (es Joomla, Wordpress,

Dettagli

Apache: A PAtCHy server (http://httpd.apache.org)

Apache: A PAtCHy server (http://httpd.apache.org) Il server Web Apache Apache Apache: A PAtCHy server (http://httpd.apache.org) Sviluppato sulla base del server NCSA a partire dal 1994 Versione più recente: Apache 2.2 (ultima release: Apache 2.2.15 Free

Dettagli

Applicazione: Servizio periferico per l'invio telematico delle domande di nulla osta al lavoro

Applicazione: Servizio periferico per l'invio telematico delle domande di nulla osta al lavoro Riusabilità del software - Catalogo delle applicazioni Appl_vo/Verticale Applicazione: Servizio periferico per l'invio telematico delle domande di nulla osta al lavoro Amministrazione: Ministero dell Interno

Dettagli

Installazione di NoCat

Installazione di NoCat Servizio Calcolo e Reti Pavia, 15 Agosto 2006 Installazione di NoCat Andrea Rappoldi 1 Introduzione 2 Migliorie apportate Quando un client stabilsce per la prima volta la connessione http o https con il

Dettagli

Open Web Studio un altro modo per sviluppare rapidamente con DotNetNuke. Roberto Caporale roberto@bizcomit.it

Open Web Studio un altro modo per sviluppare rapidamente con DotNetNuke. Roberto Caporale roberto@bizcomit.it Open Web Studio un altro modo per sviluppare rapidamente con DotNetNuke Roberto Caporale roberto@bizcomit.it Cos e OWS Un modulo di DotNetNuke Un ambiente di sviluppo Rad Un framework estendibile Cos era?

Dettagli

Come creare un certificato SSL per IIS utilizzando la CA Privata di W indow s 2 0 0 3 Server

Come creare un certificato SSL per IIS utilizzando la CA Privata di W indow s 2 0 0 3 Server Come creare un certificato SSL per IIS utilizzando la CA Privata di W indow s 2 0 0 3 Server Di Massimiliano Brolli, Roma 24/10/2004 SSL permette di eseguire una connessione criptata tra un Server WEB

Dettagli

SVN server, per Florim, è installato su server di test, anche se la sua configurazione può avvenire in qualsiasi ambiente.

SVN server, per Florim, è installato su server di test, anche se la sua configurazione può avvenire in qualsiasi ambiente. Siti FLORIM SVN Subversion Il sistema di versioning viene illustrato nell immagine seguente: Sistema locale dello sviluppatore, si parla di working copy ( copia dei file dal server in produzione) SVN server,

Dettagli

Il web server Apache Lezione n. 3. Introduzione

Il web server Apache Lezione n. 3. Introduzione Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar

Dettagli

Programma del Corso. Laboratorio

Programma del Corso. Laboratorio Programma del Corso Introduzione alle applicazioni web Introduzione a PHP i costrutti di base Il database MySQL Accesso a MySQL in PHP Progetto Finale Seminari Il WWW Oreste Signore - responsabile W3C

Dettagli

Analisi di vulnerabilità e prevenzione di attacchi SQL injection e Cross-site Scripting

Analisi di vulnerabilità e prevenzione di attacchi SQL injection e Cross-site Scripting Pattern Recognition and Applications Lab Analisi di vulnerabilità e prevenzione di attacchi SQL injection e Cross-site Scripting Dott. Ing. Igino Corona igino.corona (at) diee.unica.it Corso Sicurezza

Dettagli

INFN Security Workshop Firenze 19-20 Settembre 2000. IMHO e IMP: una interfaccia Web sicura per la posta elettronica. Raffaele.Cicchese@pr.infn.

INFN Security Workshop Firenze 19-20 Settembre 2000. IMHO e IMP: una interfaccia Web sicura per la posta elettronica. Raffaele.Cicchese@pr.infn. INFN Security Workshop Firenze 19-20 Settembre 2000 IMHO e IMP: una interfaccia Web sicura per la posta elettronica Raffaele.Cicchese@pr.infn.it Cosa significano i due acronimi IMHO e IMP? IMHO = IMAP

Dettagli

Dunque, per fare quello che ci siamo preposti abbiamo bisogno di tre cose:

Dunque, per fare quello che ci siamo preposti abbiamo bisogno di tre cose: ============================================================ == [Niubbi inside] Un Apache per amico (e per server Web) == ============================================================ Proviamo ad inaugurare

Dettagli

PkBox Requisiti Tecnici HW/SW. rel. 1.0.6.

PkBox Requisiti Tecnici HW/SW. rel. 1.0.6. PkBox Requisiti Tecnici HW/SW rel. 1.0.6. 19 aprile 2013 Le informazioni contenute in questo documento sono da considerarsi CONFIDENZIALI e non possono essere utilizzate o riprodotte - sia in parte che

Dettagli

OLTRE AJAX CON COMET Lightstreamer e la push technology per il Web 2.0. Alessandro Alinone CTO Lightstreamer

OLTRE AJAX CON COMET Lightstreamer e la push technology per il Web 2.0. Alessandro Alinone CTO Lightstreamer OLTRE AJAX CON COMET Lightstreamer e la push technology per il Web 2.0 Alessandro Alinone CTO Lightstreamer Un Web 2.0 molto pulito AJAX Colgate-Palmolive --- Jesse James Garrett 2005 COMET Procter & Gamble

Dettagli

NetCrunch 6. Server per il controllo della rete aziendale. Controlla

NetCrunch 6. Server per il controllo della rete aziendale. Controlla AdRem NetCrunch 6 Server per il controllo della rete aziendale Con NetCrunch puoi tenere sotto controllo ogni applicazione, servizio, server e apparato critico della tua azienda. Documenta Esplora la topologia

Dettagli

Apache MySQL PHP - FTP

Apache MySQL PHP - FTP Apache MySQL PHP - FTP Scelta del software, Installazione e configurazione Ivan Grimaldi grimaldi.ivan@gmail.com HcssLug GNU/LINUX USERS GROUP Outline Cenni sul funzionamento di un WebServer Apache, PHP,

Dettagli

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET 18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso ai database

Dettagli

Una Soluzione di NAT Traversal per un sistema di comunicazione VOIP per una PMI

Una Soluzione di NAT Traversal per un sistema di comunicazione VOIP per una PMI tesi di laurea Una Soluzione di NAT Traversal per un sistema di comunicazione VOIP per una PMI 2005-2006 relatore Ch.mo prof. Massimo Ficco correlatore Ch.mo prof. Giuseppe Cinque candidato Vincenzo Golia

Dettagli

KLEIS WEB APPLICATION FIREWALL

KLEIS WEB APPLICATION FIREWALL KLEIS WEB APPLICATION FIREWALL VERSIONE 2.1 Presentazione www.kwaf.it Cos'è Kleis Web Application Firewall? Kleis Web Application Firewall (KWAF) è un firewall software per la difesa di: Web Application

Dettagli

Indice register_globals escaping

Indice register_globals escaping 1 Indice La sicurezza delle applicazioni web Le vulnerabilità delle applicazioni web La sicurezza in PHP: La direttiva register_globals Filtrare l'input Filtrare l'output (escaping) SQL Injection Cross

Dettagli

Attacchi alle applicazioni web: SQL injection e Cross-site scripting (XSS)

Attacchi alle applicazioni web: SQL injection e Cross-site scripting (XSS) UNIVERSITÀ DEGLI STUDI DI CATANIA Facoltà di Ingegneria Corso di laurea Specialistica in Ingegneria Informatica Tesina di Sicurezza nei Sistemi informativi Simona Ullo Attacchi alle applicazioni web: SQL

Dettagli

Modalità d accesso alle caselle email al dominio @aas4.sanita.fvg.it

Modalità d accesso alle caselle email al dominio @aas4.sanita.fvg.it Modalità d accesso alle caselle email al dominio @aas4.sanita.fvg.it Premessa Da sabato 31 ottobre 2015 saranno rese disponibili le nuove caselle di posta elettronica @aas4.sanita.fvg.it. L accesso alle

Dettagli

Port Community System del Porto di Ravenna CONFIGURAZIONE

Port Community System del Porto di Ravenna CONFIGURAZIONE Port Community System del Porto di Ravenna CONFIGURAZIONE SOMMARIO Indicazioni generali... 3 Dipendenze software... 4 Lato server... 4 Lato client... 4 Organizzazione del sistema... 5 Struttura delle directory...

Dettagli

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

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti

Dettagli

Tecnologie e Programmazione Web

Tecnologie e Programmazione Web Presentazione 1 Tecnologie e Programmazione Web Html, JavaScript e PHP RgLUG Ragusa Linux Users Group SOftware LIbero RAgusa http://www.solira.org - Nunzio Brugaletta (ennebi) - Reti 2 Scopi di una rete

Dettagli

BASI DI DATI http://www.diee.unica.it/~giacinto/bd. Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL

BASI DI DATI http://www.diee.unica.it/~giacinto/bd. Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Contatti BASI DI DATI http://www.diee.unica.it/~giacinto/bd Esercitazione su PHP & MySQL! Roberto Tronci! e-mail: roberto.tronci@diee.unica.it!

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Laboratorio di Programmazione in Rete

Laboratorio di Programmazione in Rete Laboratorio di rogrammazione in Rete a.a. 2005/2006 http://www.di.uniba.it/~lisi/courses/prog-rete/prog-rete0506.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì ore 10-12

Dettagli

Drupal. E vai con un po' di Drupal for Dummies... :D. Copyright by hachreak www.hachreak.org

Drupal. E vai con un po' di Drupal for Dummies... :D. Copyright by hachreak www.hachreak.org Drupal E vai con un po' di Drupal for Dummies... :D Copyright by hachreak www.hachreak.org Cos'è Drupal? Drupal è un content management framework, content management system (CMS) modulare scritto in linguaggio

Dettagli

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Pag. 1/1 Sessione ordinaria 2010 Seconda prova scritta Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA

Dettagli

Indice. Introduzione PARTE PRIMA PHP: I FONDAMENTI

Indice. Introduzione PARTE PRIMA PHP: I FONDAMENTI 00som_PHP_4320_2 12-03-2003 20:59 Pagina V Indice Introduzione XV PARTE PRIMA PHP: I FONDAMENTI Capitolo 1 Perché PHP? 3 1.1 Cos è PHP? 3 1.2 La storia di PHP 4 1.3 Le ragioni per amare PHP 5 1.4 Sommario

Dettagli