✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

Du bör använda PHP-filtreringsfunktioner, del 1

7

Jag har pratat om datasanering i WordPress i tidigare inlägg. Detta är ett ämne som är viktigt inte bara för de av oss som arbetar med att bygga lösningar för andra i WordPress, utan också för de som skriver kod som direkt interagerar med en databas via PHP.

Visst, det finns inbyggda WordPress-funktioner för att göra denna process enklare, men det finns också inbyggda PHP-filtreringsfunktioner som hjälper till med detta. Nämligen filter_varoch filter_inputoch det här är saker som jag tror är bra för PHP-utvecklare att veta.

PHP-filtreringsfunktioner, del 1: Variabler

Filtrering av variabler görs av den passande namngivna filter_varfunktionen. Den officiella definitionen är:

Filtrerar en variabel med ett specificerat filter

PHP-manualen

Själva definitionen kan läsas lite cirkulär, särskilt om du precis har börjat med PHP eller med att använda filtreringsfunktioner. Det viktiga att förstå i denna definition är vad ett filter faktiskt är.

Så om du är van vid att arbeta med till exempel booleska värden, heltal, e-postadresser och så vidare (och vem är inte det?), då är det mer vettigt, eller hur? Det vill säga, om du behöver tillhandahålla någon typ av validering kring dessa typer av värden, så kan detta hjälpa.

Vad som är bra är att oavsett vad det är du filtrerar så filter_varkommer det att återvända falsenär filtret misslyckas.

Låt oss säga att du vill filtrera en e-postadress, då kan du göra något så här:

  • filter_var($emailAddress, FILTER_VALIDATE_EMAIL);

Naturligtvis är det inte utan några gotchas. Till exempel kommer den inte att validera icke-latinska domäner. Mer om detta för en stund.

Hur som helst, kanske du vill filtrera andra typer av värden:

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

Och du kan göra dem mer komplicerade beroende på dina behov. Säg till exempel att du måste avgöra om en IP är offentlig. Då kan du använda något mer utarbetat så här:

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

Grejen är att det är viktigt att veta hur filter_vardet fungerar och vilka filter som finns tillgängliga. Det är verkligen där nyttan av detta spelar in. För detta ändamål rekommenderar jag starkt att du läser igenom valideringsfiltren som PHP erbjuder.

Slutligen, kom ihåg anteckningen ovan om icke-latinska domäner med e-postadresser? Det finns några fall som detta med vissa funktioner som du måste granska vad manualen har att säga om vissa webbadresser, domäner och så vidare innan du använder dem.

I de fallen kanske det tyvärr filter_varinte alltid fungerar. Istället kan reguljära uttryck vara en lämplig ersättning.

Hur är det med filtrering av ingångar?

Om du har erfarenhet av att även arbeta med variabler som $_GEToch $_POSTså finns det en annan filtreringsfunktion specifikt för det.

Och i nästa inlägg kommer jag att gå igenom hur man bäst använder de på plats som så många av oss traditionellt använder.

Inspelningskälla: tommcfarlin.com

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer