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.

Click to Leave a Comment

You May Like

How to animate HTML elements and slide them in on mouse scroll using CSS and Javascript Today I want to animate a bunch of HTML elements and create an animation that moves them inside the same parent DIV once the elements are in the viewport, so only when the elements are visible to the users. […]

August 29, 2023
Read More...

This tutorial will show you how to change your website cursor to any CSS shape and change the shape on hover on certain HTML elements. I have seen a lot of tutorials online about changing the HTML cursor to an SVG icon or to a PGN icon. In my case, I would like to change […]

October 15, 2022
Read More...
woocommerce-min-max-checkout-plugin

Woocommerce Min Max Checkout is a plugin that extends your Woocommerce e-commerce in order to give you the possibility to set the minimum or maximum checkout amount or in order to set a minimum or maximum order quantity on the cart or checkout pages. With Woocommerce Min Max Checkout you can also set e customizable […]

February 12, 2022
Read More...