sicurezza

Introduzione a symfony

La facilità di approccio a PHP è, da sempre, croce e delizia di questo linguaggio. Essa infatti costituisce un grosso punto di forza, capace di attrarre numerosi potenziali sviluppatori, ma allo stesso tempo fa sì che molti di questi sviluppatori restino bloccati nelle paludi del cosiddetto spaghetti code, il codice procedurale scritto un po' come viene. Pochi, o comunque una minoranza, sono ancora quelli che si avventurano nel mondo della programmazione a oggetti, su cui ormai PHP sta spingendo da diverse versioni, ancora percepito come qualcosa di misterioso e complicato.

Login con PHP

Realizzare uno script PHP per effettuare il login degli utenti è un compito piuttosto semplice per un programmatore PHP con un po' di esperienza. Gli sviluppatori alle prime armi possono invece incontrare qualche difficoltà. Lo script che viene proposto di seguito vuole essere quindi un punto di partenza per i neofiti che li guidi alla realizzazione del proprio sistema di login con PHP. La complessità è stata ridotta al minimo per rendere lo script maggiormente comprensibile, ma non per questo a rischio sicurezza.

IIS 7 e PHP in Windows Vista con FastCGI

In questo articolo vedremo come installare e configurare il web server IIS 7 (Internet Information Services) di Microsoft in Windows Vista SP1 per ospitare applicazioni PHP impiegando il protocollo FastCGI. Prima di vedere i passi necessari proviamo a chiarire il ruolo di FastCGI nel connubio tra IIS e PHP. IIS 7, attraverso il modulo FastCGI, è in grado di eseguire programmi (come PHP) che supportano l’omonimo protocollo, garantendo affidabilità ed alte prestazioni.

Presentazione dello Zend Framework

Introduzione Se avete maturato un po' di esperienza in PHP sapete bene come gran parte del codice di un nuovo lavoro può essere ereditato dai precedenti progetti: le funzioni per collegarsi al database, quelle per gestire i template, quelle per l’autenticazione dell’utente, ecc.. Accanto al codice da voi prodotto, forse usate anche diverse librerie di codice realizzate da terzi: Smarty per gestire i template HTML, FPDF per creare PDF, PHPMailer per inviare email complesse, ADODb per interagire con i diversi database, la miriade di classi PEAR, ecc.

Installare Apache 2.2, PHP 5.2 e MySQL 5 su Windows

Introduzione In questo tutorial mostreremo in dettaglio le procedure di installazione e configurazione di Apache 2.2, PHP 5.2 e MySQL 5 su Windows 2000/XP. Il nostro scopo principale è quello di ottenere una piattaforma di sviluppo per poter realizzare e testare le nostre applicazioni PHP-MySQL. Abbiamo preso in considerazione le versioni più recenti dei vari software così da poterne sperimentare le caratteristiche e novità, alcune delle quali saranno evidenti già in fase di installazione.

Controllare la validità di una email

L’indirizzo email è uno tra i dati che più comunemente viene registrato da una applicazione web. E' importantissimo avere un modo per contattare e raggiungere i propri utenti ed una email è sicuramente il mezzo più veloce ed economico per farlo. Il valore di un indirizzo email quindi non può essere sciupato da un errore di input dell’utente che magari ha sbadatamente inserito in un form di registrazione una email scorretta.

Combattere lo spam con tecniche CAPTCHA

Dopo mille peripezie e notti insonni siamo riusciti a realizzare un guestbook o un sistema di commenti per il nostro sito web. Finalmente gli utenti hanno la possibilità di interagire con il sito, lasciare la loro “impronta”, sentirsi più coinvolti. Neanche il tempo di godersi la nuova creazione che subito un altro problema sembra vanificare tutti i nostri sforzi: lo spam!!! E' vero, ogni tanto qualche buontempone si diverte ad “abusare” delle funzionalità offerte dai nostri script ma avevamo pensato anche a questo e dal nostro pannello di amministrazione facciamo pulizia degli interventi indesiderati.

Disabilitare il register_globals

Se nel php.ini è abilitata la direttiva register_globals il PHP crea automaticamente, all’avvio di ogni script, delle variabili globali con i dati provenienti dall’URL, dai form, dai cookies, dalla sessione, dal server web e dal browser. Se inizialmente questa possibilità sembrò allettante poiché permetteva un immediato accesso a tutte queste informazioni, ben presto ci si accorse che costituiva un serio rischio per la sicurezza degli script. Così dalla versione 4.2 di PHP di default il register_globals è disabilitato.

L'estensione mysqli - III

Concludiamo lo studio della nuova estensione ext/mysqli soffermandoci su altre interessanti novità. Inizieremo dai prepared statement con cui effettuare il binding dei parametri e dei risultati, vedremo poi come eseguire una transazione ed infine analizzeremo le novità introdotte nella gestione dei BLOB. I prepared statement ovvero le “dichiarazioni preparate” sono dei modelli di query da inviare e conservare nel server MySQL. Attraverso un sistema di collegamento tra le variabili PHP e i parametri delle query preparate è possibile sia modificare i dati contenuti nella query, sia recuperare direttamente i set di risultati.

L'estensione mysqli - II

In questa seconda parte riprenderemo alcune tecniche già esposte per approfondire diversi aspetti, in particolare vedremo come inviare a MySQL alcune opzioni per la connessione, analizzeremo inoltre la differenza tra query buffered ed unbuffered e vedremo come inviare query multiple. Infine elencheremo altre funzioni di uso comune. Con il primo articolo della serie dedicata all’estensione ext/mysqli abbiamo iniziato ad esplorare il nuovo set di funzioni ed oggetti messi a disposizione per l’interazione con MySQL 4.