Guida sicurezza PHP e MySQL "Espressioni regolari in PHP"

Documenti analoghi
Lesson #4. Espressioni Regolari. Roberto De Virgilio

Espressioni regolari

Lezione 5: Controllo del flusso e costrutti avanzati

Problema. Scrivere un programma PHP che prelevato un codice da una FORM verifica se tale codice è un numero.

Istruzioni di selezione in Java 1

Istruzioni di selezione in Java 1

Introduzione alle espressioni regolari

Linguistica Computazionale

Corso di PHP. Prerequisiti. 2.1 Variabili. Conoscenza HTML Tecnica della programmazione Principi di programmazione web. M. Malatesta 2.

Dettaglio dei Controlli e dei Formati previsti per l invio di domande tramite file xml - Sgravi 2014

Ulteriori comandi sui file

Gestione dei caratteri

ALLEGATO Specifiche tecniche per la trasmissione telematica della Comunicazione relativa al Regime di tassazione per trasparenza nell ambito delle

INPS. Area Aziende. Sgravi Contrattazione di II livello Dettaglio dei Controlli e dei Formati previsti per l invio di domande tramite file xml.

ALLEGATO Specifiche tecniche per la trasmissione telematica della Comunicazione relativa al Regime di tassazione del consolidato nazionale

Espressioni regolari: Cosa sono e come iniziare?

Allegato A. Specifiche tecniche per la trasmissione telematica Modello Comunicazione Dati Albo dei CAF

WebUploader Tracciati di comunicazione standard

Espressioni Regolari. Giancarlo Massidda

Set di caratteri ammessi per la costituzione di un alias

Indice delle Pubbliche Amministrazioni Metadati degli Open Data

TPSIT 3AIT FEBBRAIO 2018 docente Salvatore Mosaico Esempi di PHP Esempio 1. <html> <head> <body> ciao. <? $a=1; $b=2; echo $a+$b; </body>

Gestione avanzata dei file

La rappresentazione delle informazioni

Shell: variabili di sistema. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set

ALLEGATO B. Specifiche tecniche per la trasmissione telematica della Comunicazione dei dati contenuti nelle dichiarazioni di intento ricevute

Linguistica Computazionale

SET DI CARATTERI AMMESSI PER LA COSTITUZIONE DEGLI ALIAS

WebUploader Tracciati di comunicazione standard

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

La rappresentazione delle informazioni

Confrontare valori 1

Introduzione alle classi e agli oggetti. Walter Didimo

Il linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1

Corso di Fondamenti di Informatica

ISTRUZIONI PER LA COMPILAZIONE DELLA DOMANDA DI CASSA INTEGRAZIONE IN DEROGA 2011

protocolli di comunicazione tracciato di contribuzione v001

Caratteri e stringhe

Indice delle Pubbliche Amministrazioni - Metadati degli Open Data

Strutture di Controllo Condizionali e Operatori Logici e Relazionali

Tipi di dato primitivi

NORME REDAZIONALI. - utilizzare WORD e non altri programmi

Codice di condotta per la fornitura di servizi di messaggistica aziendale tramite indicatori alfanumerici (ALIAS)

Fondamenti di Informatica T-1

Tipi di dato, variabili, istruzioni

Shell: variabili di sistema PATH HOME USER PWD SHELL HOSTNAME. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set

Fondamenti di Informatica T-1

Strutture di Controllo Condizionali e Operatori Logici e Relazionali

Specifiche tecniche per la trasmissione telematica dei dati relativi alla comunicazione per la ricezione dei mod

Fondamenti di Informatica T-1

Rilevazione TTN Schema matriciale BANCA D'ITALIA TTN-005-S

I CARATTERI E LE STRINGHE

Espressioni regolari in Javascript (RegExp) Le espressioni regolari. Un po di storia. Antonio Lioy - Politecnico di Torino (2009) I-1

Linguistica Computazionale

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

Dos: script dell interprete dei comandi

RIGA COLONNA MATRICOLA

Indice Configurazione di PHP Test dell ambiente di sviluppo 28

Modalità di compilazione per la trasmissione delle Comunicazioni dei dati dei contratti e premi assicurativi

Formattazione avanzata. Modificatori di formato in output Modificatori di formato in input Stream predefiniti

I fogli elettronici. Informatica Fogli elettronici 1

ALLEGATO B. Specifiche tecniche per la trasmissione telematica Modello INTRA 12

Il filesystem di Unix/Linux (I)

Modalità di compilazione per la trasmissione delle Comunicazioni dei dati relativi alla previdenza complementare

L ambiente UNIX/Linux. Espressioni regolari e comando find Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande / VERSIONE 1

Lezione 5 programmazione in Java. Anteprima. Tipi classe. I tipi classe BASE e loro dichiarazione La Dichiarazione (new) Il confronto

Corso di PHP. Prerequisiti. 2.2 Operatori. Conoscenza HTML Tecnica della programmazione Principi di programmazione web. M. Malatesta 2.

Fondamenti d Informatica: linguaggi formali. Barbara Re, Phd

L ambiente UNIX/Linux. I filtri Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

1. AVVERTENZE GENERALI

Dos: script dell'interprete dei comandi

Gli statement. Gli statement. Gli statement. Gli statement. Gli statement

Standard Input e Standard Output

Elementi di Base. Introduzione a Python.

TRACCIATO RECORD BONIFICI DOMICILIATI

Dott.ssa Adriana Pietramala. Dott.ssa Maria Vittoria Avolio

Allegato A. Specifiche tecniche per la trasmissione telematica dell elenco dei clienti e dei fornitori

IMMATRICOLAZIONI DIRETTE (per gli studenti che non devono sostenere la prova di ammissione)

ALLEGATO. Specifiche tecniche per la trasmissione telematica dei dati relativi alla comunicazione per la ricezione dei mod.

ALLEGATO A. Specifiche tecniche per la trasmissione telematica Modello Iva 74 bis

BASI LINGUAGGIO. Programmazione Web 1

ALLEGATO B. Specifiche tecniche per la trasmissione telematica Modello Iva TR

Laboratorio Progettazione Web Le funzioni in PHP. Andrea Marchetti IIT-CNR 2016/2017

Grammatiche Parse trees Lezione del 17/10/2012

Fondamenti di Informatica T-1

BOZZA INTERNET del 23/12/2015. Modalità di compilazione per la trasmissione delle Comunicazioni dei dati relativi alle spese funebri

Programmazione Orientata agli Oggetti in Linguaggio Java

RICHIESTA AMMISSIONI BIENNIO TRIENNIO. ACCEDERE AL SITO

ALLEGATO A. Specifiche tecniche per la trasmissione telematica Dichiarazione d intento

Esercitazione 2 - Soluzioni

ALLEGATO 1. Specifiche tecniche per la trasmissione telematica Istanza di rimborso

PHP ESSENTIALS #5. By WI400 Team. : stringhe

IMMATRICOLAZIONI DIRETTE (per gli studenti che non devono sostenere la prova di ammissione)

Linguaggi di Programmazione

Transcript:

Guida sicurezza PHP e MySQL "Espressioni regolari in PHP" Introduzione In questa guida troverai una serie di comuni regular expression o espressioni regolari che puoi usare per verificare la pertinenza dei dati passati tramite i campi di un modulo web o all'interno di un url. La regular expression potrà essere inserita all'interno della funzione: preg_match( /Espressione regolare/, variabile da confrontare) oppure se il confronto non deve considerare minuscole o maisucole: preg_match( /Espressione regolare/i, variabile da confrontare) oppure all'interno di una qualsiasi altra funzione di php che richiede l'utilizzo di una regular expression. Le espressioni regolari più utilizzate 1) Controllo generico di un numero Per controllare se un determinato campo risulta essere un numero intero di n cifre (con n maggiore o uguale a 1), si può usare: [0-9]+ Esempi validi: 3, 44, 345, 996792 etc if (preg_match('/^[0-9]+$/',$numero)) { echo "Hai inserito un numero intero";

2) Controllo generico di una stringa senza spazi Per controllare se un determinato campo risulta essere un stringa alfanumerica senza spazi, quindi contenente sia numeri che lettere, costituita da n caratteri (con n maggiore o uguale a 1), si può usare: [a-z0-9]+ Esempi validi: a23, sde, 3sd5, 996a,72 etc $stringa = '123ciao'; if (preg_match('/^[a-z0-9]+$/',$numero)) { echo "Hai inserito una stringa alfanumerica"; 3) Controllo di una stringa di 5 caratteri Per controllare se un determinato campo risulta essere un stringa alfanumerica senza spazi, quindi contenente sia numeri che lettere, costituita esattamente da 5 caratteri, si può usare: [a-za-z0-9]{5 Esempi validi: A2323, 3sd52, 99634, etc $stringa = '123ciao'; if (preg_match('/^[a-za-z0-9]{5$/',$numero)) { echo "Hai inserito una stringa alfanumerica di 5 caratteri"; 3) Controllo di un nome Italiano Per controllare se un determinato campo risulta essere un nome italiano quindi senza caratteri accentati tipici di altre lingue, si può usare: [a-za-z]+[\ a-za-z]* Esempi validi: Luigi, pier angelo, etc $nome = 'Angelo'; if (preg_match('/^[a-z]+[\ a-z]*$/i',$nome)) { echo "Hai inserito un nome italiano valido";

3) Controllo di un nome straniero con particolari accenti Per controllare se un determinato campo risulta essere un nome straniero con particolari accenti è necessario inserirli nella lista dei possibili valori: [a-z]+[\ àâäàèêëèé etc a-z]* Esempi validi: Luigi, Angèlo, etc $nome = 'Angèlo'; if (preg_match('/^[a-z]+[\ àèìòùa-z]*$/i',$nome)) { echo "Hai inserito un nome valido valido"; 3) Controllo di un' email Per controllare se un determinato campo risulta essere un'email valida dal punto di vista formale, si può usare: [a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-\.]?[a-z0-9])+\.[a-z]{2,4 Esempi validi: a12@dd.com, aaa_bb@ii.com, 123@ddd.com etc $email = 'test@miosito.com'; if (preg_match('/^ [a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-\.]?[a-z0-9])+\.[a-z]{2,4$/',$email)) { echo "Hai inserito un'email formalmente valida"; 4) Controllo di un cap italiano Per controllare se un determinato campo risulta essere un codice di avviamento postale ossia costituito da 5 numeri, si può usare: [0-9]{5 Esempi validi: 35100 etc $cap = '35100'; if (preg_match('/^[0-9]{5$/',$cap)) { echo "Hai inserito un codice di avviamente postale valido";

5) Controllo di nome di dominio Per controllare se un determinato campo contiene un nome di dominio potenzialmente valido a lettere minuscole, tra quelli desiderati, si può usare: ^(http https):\/\/[a-z0-9\-\.]+\.[a-z]{2,6$ Esempi validi: http://www.pincopalla.com, https://pincopalla.it, etc $dominio = 'http://www.pincopalla.com/'; if (preg_match('/^(http https):\/\/[a-z0-9\-\.]+\.[a-z]{2,6$/',$dominio)) { echo "Hai inserito un indirizzo di sito web valido formalmente valido"; 6) Controllo di una data Per controllare se un determinato campo contiene una data nel formato gg/mm/aa, si può usare: [0-9]{1,2\/[0-9]{1,2\/[0-9]{2 Esempi validi: 1/01/18, 25/4/44, 03/11/82 etc $dataor = '10/02/19'; if (preg_match('/^[0-9]{1,2\/[0-9]{1,2\/[0-9]{2$/',$dataor)) { echo "Hai inserito una data formalmente valida"; 7) Controllo di una partita IVA Per controllare se un determinato campo contiene un partita IVA italiana: [0-9]{11 Esempi validi: 12345678901 $piva = '03558457845'; if (preg_match('/^[0-9]{11$/',$piva)) { echo "Hai inserito una patita iva valida"; Guida rapida alle espressioni regolari

NB: Con carattere si intende sia una lettera che un numero che un simbolo. Metacarattere - descrizione ^ - Inizio di una stringa $ - Fine di una stringa [a-z] - lettere dalla a alla z in minuscolo [A-Z] - lettere dalla A alla Z in maiuscolo [0-9] - numeri da 0 a 9? - zero o uno del precedente carattere o caratteri * - zero o più del precente caratteri o caratteri + - uno o più dei precedenti caratteri {n - n dei precente carattere o caratteri {n, - n o più del precente carattere o caratteri. - normalmente equivale ad un qualsiasi carattere escluso il carattere di nuova riga \n Se inserito all'interno delle parentesi quadre, corrisponde al simbolo punto. () - Raggruppa una serie di corripondenze, in un solo elemento. [ ] - Individua un set di possibili corrispondenza di caratteri.