✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Sinun pitäisi käyttää PHP-suodatusfunktioita, osa 2

4

Edellisessä viestissä puhuin syistä PHP-suodatustoimintojen käyttö on hyödyllisempää kuin ei.

Lyhyesti sanottuna tämä auttaa tarjoamaan kieleen sisäänrakennetun vahvistustason, jotta meidän ei tarvitse kirjoittaa jotain uudelleen. Luonnollisesti on varoituksia.

Jos esimerkiksi sinun on vahvistettava arvo, joka koostuu muista kuin latinalaisista merkeistä, sinun on tehtävä se yksin ja suoritettava vahvistus ehkä säännöllisellä lausekkeella.

Mutta jos käytät sähköpostiosoitteita, URL-osoitteita, numeroita, IP-osoitteita ja monia muita asioita, sinulla on hyvät mahdollisuudet käyttää jotain jo olemassa olevaa.

Joka tapauksessa kaikki yllä oleva koskee edelleen muuttujien suodattamista. Entä tulot kuitenkin? Eli ne, jotka ovat peräisin $_POSTtai $_GET. On mahdollista käyttää samanlaista strategiaa eri toiminnolla ja eri suodatinsarjalla.

Mutta jos ymmärrät viimeisessä viestissä esitetyt perusteet, tämä viesti ei ole kovin erilainen.

PHP-suodatusfunktiot, osa 2: Tulot

Tulojen suodatus tapahtuu filter_inputtoiminnolla. Tämän funktion määritelmä on:

Hakee tietyn ulkoisen muuttujan nimen perusteella ja valinnaisesti suodattaa sen

PHP käsikirja

Ja kuten viime kerralla mainittiin, tämä kuulostaa hieman oudolta, kunnes ymmärrät, mitä suodattimet ovat. Onneksi käsiteltiin tätä edellisessä postauksessa. Ja vaikka tämä viesti keskittyy erityisesti POST(ja hyvin lyhyesti GET).

On kuitenkin muitakin suodattimia. Ja näihin kuuluvat:

  • INPUT_COOKIE
  • INPUT_SERVER
  • INPUT_ENV

Joka tapauksessa, koska kaksi yleisintä toimintoa, jotka minulla on tapana nähdä WordPressissä, ovat POSTja GET, näyttää tärkeältä sisällyttää nämä kaksi tähän.

Sinun pitäisi käyttää PHP-suodatusfunktioita, osa 2

Näiden toimintojen käyttäminen on triviaalisen helppoa. Oletetaan, että sinulla on arvo, joka tulee jostakin, jonka käyttäjä on antanut lomakkeessa, ja hän lähettää sen palvelimelle käyttämällä POSTpyyntöä avaimella, kuten firstname.

Sen vahvistava koodi voi näyttää tältä:

  • filter_input(INPUT_POST, 'firstname');

Mikä on tarpeeksi helppo ymmärtää, koska se yksinkertaisesti ottaa avaimen, suodattaa sen ja palauttaa sitten arvon. Ja koska se palauttaa arvon, voimme asettaa suojalausekkeen ennen kuin jatkamme työskentelyä:

1if (false === filter_input(INPUT_POST, 'firstname')) { 2  return; 3}

Jos kaikki on kunnossa, voimme siirtyä eteenpäin ja tehdä mitä tahansa käyttäjätiedoilla. Ehkä meidän on yhdistettävä se nykyiseen viestiin jostain syystä:

1if (false === filter_input(INPUT_POST, 'firstname')) { 2  return; 3} 4  5$firstname = filter_input(INPUT_POST, 'firstname'); 6update_post_meta(get_the_ID(), 'acme-firstname', $firstname); 7  8// Other code you may use...

Lisäksi voit suojata tietoja entistä enemmän käyttämällä erilaisia ​​olemassa olevia suodattimia . Nämä välitetään kolmantena parametrina filter_inputfunktiolle.

Ja Entä GET?

Hienoa tässä funktiossa on, että yleisesti ottaen samat säännöt pätevät kuin ne pätevät, POSTpaitsi että INPUT_POSTkäytät INPUT_GET.

Ja sitten voit työstää koodiasi projektisi tarpeisiin parhaiten sopivalla tavalla.

Turvallisuus, nonces jne.

Muista, että tätä ei saa käyttää turvallisuuden sijasta. Tämä on vain tietojen suojaamista varten ennen kuin teet mitään niillä.

Älä vaihda nonce-arvojen vahvistusta vain siksi, että vahvistat tiedot eri tavalla.

Muuttujat ja syötteet

Muista, vaikka nämä funktiot ovat hyvin samankaltaisia ​​muuttujia ja syötteet ovat erilaisia. Toisin sanoen, älä yritä käyttää, filter_varkun työskentelet käyttäjältä tai selaimelta tulevan syötteen kanssa. Käytä sitä aina, kun työskentelet muuttujien kanssa. Ja vastaavasti käytä ht e

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja