Come pulire l’input dell’utente in WordPress

Blog Tutorial

In questo articolo vediamo come pulire e sanitizing l'input dell'utente per evitare di salvare errori nel database in Wordpress.

E’ buona pratica sempre controllare e pulire l’input che l’utente inserisce per far si che non si inseriscano caratteri indesiderati nel database e per tenere il nostro programma pulito e senza errori e warning. Questo processo viene chiamato sanitizing.

Sanitizing vuol dire sostanzialmente pulire l’input ed eliminare caratteri e codice non consentito prima di memorizzare le variabli.

WordPress mette a disposinzione un’ampia libreria di funzioni per sanitize l’input, in questo articolo ne vedremo solo le piu’ importanti in quanto le funzioni sono davvero tantissime.

  • sanitize_email ( string $email ), pulisce una email da tutti i caratteri che non sono consentiti. Solitamente viene usata prima di memorizzare email nel database.
    echo sanitize_email("narayan prusty@sitepoint.com");
    // restituisce "narayanprusty@sitepoint.com"
    $sanitized_email = sanitize_email('     admin@example.com!     ');
    echo $sanitized_email; 
    // restituisce  'admin@example.com'
  • sanitize_file_name ( string $filename ), pulisce i nomi di file sostituendo spazi e dashes. Questa funzione viene usata da WordPress Media Uploader per pulire i nomi dei file nella media gallery.
    echo sanitize_file_name("_profile pic--1_.png"); 
    // restituisce "profile-pic-1_.png"
  • sanitize_text_field ( string $str ), questa funzione e’ probabilmente la funzione piu’ comune usata per pulire i dati da FORM, pulisce una string, puo’ essere usata con dati di utente o da database.
    echo sanitize_text_field("<b>Bold<</b>"); 
    //visualizza "Bold&lt;"
  • sanitize_title ( string $title, string $fallback_title = ”, string $context = ‘save’ ), questa funzione viene usata per evitare di visualizzare caratteri non desiderati nei titoli degli articoli o custom post type. Rimuove codice PHP e tags HTML da una string, cosi’ come accenti. Gli spazi vengono convertiti in dashes.
    echo sanitize_title("Sanítizing, Escaping and Validating Data in WordPress"); 
    //visualizza "sanitizing-escaping-and-validating-data-in-wordpress"
    $new_url = sanitize_title('This Long Title is what My Post or Page might be');
    echo $new_url;
    // visualizza "this-long-title-is-what-my-post-or-page-might-be"
  • sanitize_textarea_field ( string $str ), questa funzione funziona esattamente come sanitize_text_field, ma viene usato per pulire i tag textarea nei form. 
  • sanitize_key ( string $key ), options, MetaData e  Transients Keys possono solo avere caratteri minuscoli e alfanumerici, dashes e underscores. Questa funzione elimina tutti gli altri carattarei.

Per una completa visione di tutte le funzioni che WordPress mette a disposizione per pulire l’input date un occhiata al questo articolo preso dalla documentazione di WordPress qui. Nel caso abbiate necessita’ dovete fare un data-validation sull’input vi consiglio di usare le funzioni PHP quali is_email(), is_serialized(), empty() ecc… Date un occhiata a questo interessante articolo.

In sostanza, sempre controllare cosa l’utente sta inserendo nel database, mai fidarsi del senso comune degli utenti, e questo vi aiutera’ a far crescere un sistema piu’ robusto prevenendo errori del database.

You May Like

Today we try to analyze the error that appears on the browser inspector and that is a bit tricky to fix and we try to understand what is causing the error, the error is called “Failed to load resource: net::ERR_BLOCKED_BY_CLIENT“. This error is always followed by an URL, this URL is the link that has […]

May 28, 2021
Read More...
how to freeze the first row and the first column of an HTML table

I was working on an HTML table that displays a list of users and user permission, the first row displays the permission names and the first column displays the name of the users involved. I have noticed that when I strolled toward the right I couldn’t see the user names and scrolling toward the bottom […]

May 28, 2021
Read More...

The Fullscreen Any Element Plugin uses the Javascript Fullscreen API in order to make any chosen HTML element on your website in fullscreen. The Fullscreen API adds methods to present a specific Element (and its descendants) in full-screen mode, and to exit full-screen mode once it is no longer needed. This makes it possible to […]

May 24, 2021
Read More...

Click to Leave a Comment