Programmazione Web » Php » Htmlspecialchars(): sicurezza dei siti web

Htmlspecialchars(): sicurezza dei siti web

Difficoltà: Apprendista Scritto da Michele Sassi
Sito Web: http://www.comefaccio.net E-Mail
Questo tutorial è stato letto 762 volte




Molti webmasters, specie i più inesperti o quelli alle prime armi, spesso dimenticano di curare l'aspetto relativo alla sicurezza dei siti web.

Questo aspetto, di fondamentale importanza, non va trascurato, specie quando si ha a che fare con siti dinamici con i quali l'utente può interagire compilando form di qualsiasi tipo.

L'attacco più banale che può essere sferrato è quello relativo alle Sql Injection, grazie alle quali un visitatore può lanciare un codice php da far eseguire al vostro server. Tale codice può essere innocuo, ma potenzialmente molto dannoso allo stesso tempo.

Immaginiamo di avere a che fare con un guestbook e che il visitatore voglia inserire il proprio messaggio in grassetto. Se questa funzionalità non è stata offerta dal webmaster, l'utente ostinato a voler inserire il proprio messaggio in grassetto scriverà nel form "<strong>Il mio messaggio</strong>" e vedrà comparire il suo messaggio in grassetto!
Non ne parliamo poi di quei bot che fanno spam automatico su qualsiasi sito in cui trovano un form. L'intenzione di questi bot è spesso quella di linkare i siti spammer per aumentarne la popolarità degli stessi.

Bene, evitare tutto questo è possibile grazie ad un solo comando di Php. Stiamo parlando della funzione htmlspecialchars() che, come si può dedurre dal nome, converte in Html tutti i caratteri speciali quali, ad esempio, "<", ">", """ (minore, maggiore e doppio apice) e via discorrendo.

Implementare la funzione htmlspecialchars() è molto semplice:

$messaggio = htmlspecialchars($_POST['messaggio']);

In questa semplice riga di codice abbiamo creato una nuova variabile chiamata "messaggio" alla quale abbiamo assegnato il valore recuperato dal campo di testo chiamato "messaggio", appositamente "controllato" dalla funzione htmlspecialchars().

A questo punto ogni messaggio è reso innocuo! Proviamo ad inserire nella textarea la stringa "<strong>il mio messaggio</strong>" e vedremo che la stringa anzichè essere visualizzata in grassetto, sarà visualizzata proprio come è stata inserita dall'utente ovvero "<strong>il mio messaggio</strong>" in quanto i caratteri "<" e ">" sono stati resi innocui dalla funzione htmlspecialchars() che li ha convertiti rispettivamente in "&lt;" e in "&gt;".

Con questa funzione abbiamo reso innocuo anche il comando potenzialmente più dannoso, come ad esempio uno script che può cancellare tutti i record da un database.

La sicurezza dei siti web non è mai abbastanza, ma adesso possiamo stare un po' più tranquilli. E tutto grazie ad una sola funzione.

Buona implementazione!

Aggiungi questo tutorial ai preferiti! Aggiungi questo tutorial ai preferiti


SEGNALA QUESTA RISORSA AD UN AMICO
Tuo nome
Tua mail
Nome amico
Mail tuo amico
Google
AREA UTENTI
E-MAIL PASSW
Perso la password?
I TUTORIAL PIU' LETTI
GIF ANIMATE
Script Gratis!
Spot

Sito Service
Tutorial per realizzare un sito web partendo da zero e script Asp per Aruba Server.

Tutorials & scripts
Articoli su HTML, CSS, PHP, ASP, Javascript, MySQL a cura di AG web solutions!

Guida Prestiti e Carte di credito
Giochi flash free
Giochi gratis online
Ricette di cucina gratis
Migliori torrent italiani
Notizie Dieta e Diete Alimentari

Cerca con Google