Sviluppo software

Problematiche ricorrenti nello sviluppo di webapp 1/3: escaping

Il primo di tre problemi ricorrenti nello sviluppo di webapp deriva dal corretto escaping dei dati inviati dal server al browser.

  • Questo problema sorge laddove l'utente può inserire dei dati nella nostra webapp;
  • non trattare opportunamente questi dati equivale a lasciare aperta la porta a malintenzionati;
  • l'escaping infatti è la soluzione a vulnerabilità come il XSS (Cross Site Scripting) ;
  • conoscerlo e saperlo gestire correttamente è essenziale per sviluppare webapp sicure;

In generale in una webapp va fatto l'escaping di tutto ciò che viene generato lato server e che poi viene interpretato dal browser.

Tutte le volte che si sta generando una pagina HTML da inviare al browser utilizzando dati provenienti dal database o dall'utente, bisogna chiedersi se e come bisogna farne l'escaping.

In particolare se si sviluppa in PHP bisogna conoscere per ogni elemento della pagina (html, css, javascript, …) che si sta creando, le apposite funzioni e gli appositi accorgimenti per effettuare l'escaping del contenuto.

Le funzioni della tabella seguente se utilizzate con gli opportuni accorgimenti possono essere la base per effettuare un corretto escaping.

elementofunzione PHP
HTMLhtmlentities /htmlspecialchars
valore degli attributi HTMLhtmlentities /htmlspecialchars
JavaScriptaddslashes /json_encode
URL/URIrawurlencode /urlencode

Se il framework che utilizziamo si preoccupa di effettuare correttamente l'escaping di questi elementi bene, diversamente ce ne dovremo occupare noi.

Votazione pagina#

[Voti: 5 Media voto: 4.6/5]
Autore: Giovanni Chiodi
Senior software developer con più di 10 anni di esperienza nello sviluppo di soluzioni web based, enterprise, su misura. Dal 2011 socio fondatore di Garda Informatica Snc condivide questa avventura col fratello Lorenzo.

Promemoria sui Cookie e sulla Privacy

Leggi l'informativa
closeIcona closesearchIcona searchmore vertIcona more vertmenuIcona menulinkIcona link