✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Dovresti utilizzare le funzioni di filtraggio PHP, parte 1

16

Ho parlato della sanificazione dei dati in WordPress nei post precedenti. Questo è un argomento importante non solo per quelli di noi che lavorano per creare soluzioni per altri in WordPress, ma anche per coloro che stanno scrivendo codice che interagirà direttamente con un database tramite PHP.

Certo, ci sono funzioni native di WordPress per rendere più semplice questo processo, ma ci sono anche funzioni di filtro PHP integrate per aiutare con questo. Vale a dire filter_vare filter_inputqueste sono cose che penso siano utili per gli sviluppatori PHP da sapere.

Funzioni di filtraggio PHP, parte 1: variabili

Il filtraggio delle variabili viene eseguito dalla funzione opportunamente denominata filter_var. La definizione ufficiale è:

Filtra una variabile con un filtro specificato

Il manuale PHP

La definizione stessa potrebbe leggere una piccola circolare, specialmente se hai appena iniziato con PHP o con le funzioni di filtro. La cosa importante da capire in questa definizione è cosa sia effettivamente un filtro.

Quindi, se sei abituato a lavorare, diciamo, con valori booleani, numeri interi, indirizzi e-mail e così via (e chi non lo è?), allora ha più senso, vero? Cioè, se è necessario fornire un tipo di convalida attorno a questi tipi di valori, questo può essere d’aiuto.

La cosa fantastica è che, indipendentemente da ciò che stai filtrando, filter_vartornerà falseogni volta che il filtro fallisce.

Diciamo che vuoi filtrare un indirizzo email, quindi puoi fare qualcosa del genere:

  • filter_var($emailAddress, FILTER_VALIDATE_EMAIL);

Naturalmente, non è senza alcuni trucchi. Ad esempio, non convaliderà i domini non latini. Maggiori informazioni su questo momentaneamente.

Ad ogni modo, forse vuoi filtrare altri tipi di valori:

  • filter_var($url, FILTER_VALIDATE_URL)
  • filter_var('1001', FILTER_VALIDATE_INT)

E puoi renderli più complicati a seconda delle tue esigenze. Supponiamo, ad esempio, di dover determinare se un IP è pubblico. Quindi puoi usare qualcosa di più elaborato come questo:

  • filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)

Il fatto è che è importante sapere come filter_varfunziona e quali filtri sono disponibili. È proprio qui che entra in gioco l’utilità di questo. A tal fine, consiglio vivamente di leggere i filtri di convalida offerti da PHP.

Infine, ricordi la nota sopra sui domini non latini con indirizzi email? Ci sono alcuni casi come questo con determinate funzionalità che dovrai rivedere ciò che il manuale ha da dire in merito a determinati URL, domini e così via prima di utilizzarli.

In quei casi, purtroppo, filter_varpotrebbe non funzionare sempre. Invece, le espressioni regolari possono essere un sostituto adatto.

Che dire del filtraggio degli input?

Se hai esperienza nel lavorare anche con variabili come $_GETe $_POSTallora c’è un’altra funzione di filtro specifica per questo.

E nel prossimo post, illustrerò come utilizzare al meglio quelli sul posto che molti di noi usano tradizionalmente.

Fonte di registrazione: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More