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

Työskentely WordPressin transienttien ja todennuksen kanssa

5

Jatkaessa edellisen postauksen sisältöä, on tärkeää ottaa huomioon myös transienttien ja autentikoinnin käyttö.

Koska on olemassa tilanteita, joissa käyttäjät todennetaan sivustolla (kuten sivuston vain jäsenille tarkoitettu alue) ja tai ei ole todennettu sivustolla (kuten sivuston vierailijat).

Tämän tyyppisiä tilanteita esiintyy sekä blogeissa että muissa sivustoissa ja verkkosovelluksissa kaikkialla.

WordPressin siirtymät ja todennus

Miten voimme tallentaa käyttäjätietoja kyseisille käyttäjille? Onneksi PHP tarjoaa meille toimintoja, jotka antavat meille mahdollisuuden tehdä niin ilman WordPress-sovellusliittymiä.

Viime kädessä tavoite, johon pyrimme, on ohimenevien tietojen sarjoittaminen käyttämällä avainta, joka käyttää todennetun tai todentamattoman käyttäjän tunnusta.

Ja tässä on, kuinka kukin niistä tehdään.

WordPress API

Olettaen, että käyttäjä on todennettu WordPressillä, voimme käyttää get_current_user_id- funktiota. Se on myös yksinkertainen.

Koodiviitteestä:

Hanki nykyinen käyttäjätunnus

Voimme sitten käyttää tätä funktiota rakentajassa asettaaksemme ominaisuuden, joka tallentaa käyttäjän tunnuksen. Ja näytän sen koodin hetken, mutta entä tilanne, kun käyttäjä ei ole kirjautunut sisään?

PHP API

Kun on kyse tietojen tallentamisesta käyttäjille, joita ei ole todennettu, tarvitsemme silti tavan tunnistaa heidät. Tämä voidaan tehdä useilla tavoilla käyttämällä erilaisia ​​PHP:n ylläpitämiä arvoja liittämään ohimenevään avaimeen.

Muista, että avaimen on oltava ainutlaatuinen, ja niin kauan kuin se on ainutlaatuinen sivuston käyttäjälle, sen pitäisi olla hyvä.

Kaksi PHP:n tarjoamaa toimintoa ovat:

Mitä tulee toiseen, se ei toimi IIS:llä tai millään Windows-pohjaisilla palvelimilla. Mutta mainitsen sen tässä toisena vaihtoehtona isännille, jotka ovat *nix-pohjaisia ​​(koska monet ovat, erityisesti WordPressin suhteen).

Get_current_user funktio on riittävän selkeä:

Hakee nykyisen PHP-skriptin omistajan nimen

Käsikirjassa on myös muuta huomioivaa. Se sanoo nimenomaisesti tämän "[palauttaa] nykyisen PHP-skriptin omistajan nimen." Ja käsittelen tätä ennen viestin loppua.

Työskentely WordPressin transienttien ja todennuksen kanssa

Lisäksi get_current_user ei välttämättä ole se, mitä etsit, riippuen siitä, miten palvelin on määritetty ja mikä käyttäjä on palvelimella käynnissä olevan PHP-komentosarjan "omistaja".

Mutta riittää, kun sanon, että tämä esimerkki toimii. Ja tässä syy: Yritän osoittaa, kuinka käyttää arvoja, jotka ovat ainutlaatuisia vierailijalle, jota ei ole tunnistettu sivustolla, luodakseen avaimen, josta voimme poimia tietoja.

Se, miten avain luodaan, on toissijaista varsinaiseen koodiin nähden.

Yhdistämällä kaiken yhdessä

Miltä koodi sitten näyttää, jos haluamme hyödyntää yllä olevia toimintoja? Jos siis ylläpidämme omaisuutta, joka sisältää käyttäjän tunnuksen ja tekee sen sitten sekä todennetuille että todentamattomille käyttäjille?

Ehkä tämä :

Ja tämä antaa sinulle tarvittavat toiminnot yksilöllisen käyttäjätunnuksen luomiseen sekä todennetuille että todentamattomille käyttäjille.

Entä ohimenevät avaimet?

Kyllä – osa keskustelun aihetta on myös ainutlaatuisten ohimenevien avainten luominen.

Tätä varten olen huomannut, että on tarpeeksi helppoa yhdistää yllä luomamme käyttäjätunnus ja liittää se avaimeen, jota käytetään transientin sarjoituksessa.

Esimerkiksi :

Tämän funktion palauttamalla arvolla voimme sitten tallentaa tiedot ohimenevänä yksittäisten avainten avulla.

Vielä muita vaihtoehtoja

Kuten mainittiin, pelkkä PHP:n sisäänrakennettujen ominaisuuksien käyttö ei välttämättä ole oikea tie. Mutta se ei tarkoita, etteikö olisi olemassa muita arvoja, jotka tarjoavat ainutlaatuisen arvon tarvitsemallesi.

Tällaisissa tapauksissa on tärkeää tunnistaa, miten haluat tunnistaa käyttäjäsi, mitä käyttöjärjestelmää hän käyttää ja mikä käyttäjätili sovelluksen omistaa.

Jos tämä ei tarjoa riittävän ainutlaatuista asetusta (ja on hyvin todennäköistä, että ei tietyissä olosuhteissa), periaate pätee silti – sinun tarvitsee vain vaihtaa get_current_user() – funktionaalinen kutsu johonkin, joka toimii parhaiten sinä.

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