✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Peaksite kasutama PHP filtreerimisfunktsioone, 1. osa

5

Andmete desinfitseerimisest WordPressis olen varasemates postitustes rääkinud. See on teema, mis on oluline mitte ainult neile, kes töötame WordPressis teistele lahenduste loomisega, vaid ka neile, kes kirjutavad koodi, mis suhtleb PHP kaudu otse andmebaasiga.

Muidugi on WordPressi algfunktsioonid selle protsessi hõlbustamiseks, kuid selle abistamiseks on ka sisseehitatud PHP-filtreerimisfunktsioonid. Nimelt filter_varja filter_inputja need on asjad, mida minu arvates on PHP arendajatele kasulik teada.

PHP filtreerimisfunktsioonid, 1. osa: muutujad

Muutujate filtreerimine toimub sobiva nimega filter_varfunktsiooni abil. Ametlik määratlus on järgmine:

Filtreerib muutuja määratud filtriga

PHP käsiraamat

Määratlus ise võib olla veidi ringikujuline, eriti kui alles alustate PHP-ga või filtreerimisfunktsioonide kasutamist. Selle määratluse puhul on oluline mõista, mis filter tegelikult on.

Nii et kui olete harjunud töötama näiteks tõeväärtuste, täisarvude, meiliaadresside ja muuga (ja kes mitte?), siis on see mõttekam, kas pole? See tähendab, et kui teil on vaja seda tüüpi väärtuste kohta teatud tüüpi valideerimist, võib see aidata.

Suurepärane on see, et olenemata sellest, mida te filtreerite, filter_varnaaseb falsesee alati, kui filter ebaõnnestub.

Oletame, et soovite e-posti aadressi filtreerida, siis saate teha midagi sellist:

  • filter_var($emailAddress, FILTER_VALIDATE_EMAIL);

Muidugi pole see ka ilma probleemideta. Näiteks ei kinnita see mitte-ladinakeelseid domeene. Sellest hetkeks lähemalt.

Igatahes, võib-olla soovite filtreerida teist tüüpi väärtusi:

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

Ja saate need vastavalt oma vajadustele keerulisemaks muuta. Oletagem, et peate näiteks kindlaks tegema, kas IP on avalik. Siis saate kasutada midagi keerukamat, näiteks järgmist:

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

Asi on selles, et on oluline teada, kuidas see filter_vartöötab ja millised filtrid on saadaval. See on tõesti koht, kus selle kasulikkus tuleb mängu. Selleks soovitan tungivalt läbi lugeda PHP pakutavad valideerimisfiltrid.

Lõpuks pidage meeles ülaltoodud märkust e-posti aadressidega mitte-ladinakeelsete domeenide kohta? Teatud funktsioonidega on selliseid juhtumeid, mille puhul peate enne nende kasutamist üle vaatama, mida juhend teatud URL-ide, domeenide ja muu kohta ütleb.

filter_varSellistel juhtudel ei pruugi see kahjuks alati toimida. Selle asemel võivad regulaaravaldised olla sobivaks asenduseks.

Kuidas on sisendite filtreerimisega?

Kui teil on kogemusi ka selliste muutujatega nagu $_GETja $_POSTsiis on selle jaoks veel üks filtreerimisfunktsioon.

Järgmises postituses kirjeldan, kuidas kõige paremini kasutada neid, mida paljud meist traditsiooniliselt kasutavad.

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem