✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Praca z transjentami i uwierzytelnianiem WordPress

12

Kontynuując treść poprzedniego posta, ważne jest również rozważenie użycia transjentów i uwierzytelniania.

Ponieważ istnieją scenariusze, w których użytkownicy są uwierzytelniani w witrynie (pomyśl o obszarze witryny tylko dla członków) i lub nie są uwierzytelniani w witrynie (na przykład odwiedzający witrynę).

Tego typu sytuacje są obecne zarówno na blogach, jak i w innych witrynach i aplikacjach internetowych na całym świecie.

Przejściowe stany przejściowe i uwierzytelnianie WordPress

Jak możemy przechowywać informacje o użytkownikach dla tych użytkowników? Na szczęście PHP zapewnia nam pewną funkcjonalność, która daje nam możliwość robienia tego bez potrzeby korzystania z API WordPressa.

Ostatecznym celem, do którego dążymy, jest serializacja danych przejściowych przy użyciu klucza, który używa identyfikatora uwierzytelnionego użytkownika lub nieuwierzytelnionego użytkownika.

A oto jak to zrobić.

API WordPressa

Zakładając, że użytkownik jest uwierzytelniony w WordPressie, możemy użyć funkcji get_current_user_id. To też jest proste.

Z odniesienia do kodu:

Uzyskaj identyfikator bieżącego użytkownika

Możemy następnie użyć tej funkcji w konstruktorze, aby ustawić właściwość przechowującą identyfikator użytkownika. I za chwilę pokażę kod do tego, ale co z sytuacją, gdy użytkownik nie jest zalogowany?

API PHP

Jeśli chodzi o przechowywanie informacji dla użytkowników, którzy nie są uwierzytelnieni, nadal potrzebujemy sposobu ich identyfikacji. Można to zrobić na wiele sposobów, używając różnych wartości utrzymywanych przez PHP w celu dołączenia do klucza przejściowego.

Pamiętaj, że klucz musi być unikalny i dopóki jest unikalny dla użytkownika witryny, powinien być dobry.

Dwie funkcje, które oferuje PHP to:

Jeśli chodzi o drugą, to nie będzie działać z IIS ani żadnymi serwerami z systemem Windows. Ale wspominam o tym tutaj jako o innej alternatywie dla hostów opartych na *nix (ponieważ tak wiele jest, szczególnie w odniesieniu do WordPressa).

Funkcja get_current_user jest wystarczająco przejrzysta:

Pobiera nazwę właściciela bieżącego skryptu PHP

W instrukcji jest jeszcze coś, na co warto zwrócić uwagę. Wyraźnie stwierdza to „[zwraca] imię i nazwisko właściciela bieżącego skryptu PHP". Zajmę się tym przed końcem postu.

Praca z transjentami i uwierzytelnianiem WordPress

Co więcej, get_current_user może również nie być tym, czego szukasz, w zależności od konfiguracji serwera i tego, który użytkownik jest „właścicielem” skryptu PHP działającego na serwerze.

Ale wystarczy powiedzieć, że w tym przykładzie to działa. A oto dlaczego: staram się pokazać, jak używać wartości, które są unikalne dla użytkownika, który nie jest uwierzytelniony w witrynie, do generowania klucza, z którego możemy pobrać informacje.

Sposób generowania klucza jest drugorzędny w stosunku do rzeczywistego kodu.

Łącząc to wszystko razem

Jak więc wygląda kod, jeśli mamy wykorzystać powyższe funkcje? To znaczy, jeśli utrzymujemy właściwość, która przechowuje identyfikator użytkownika, a następnie robi to zarówno dla uwierzytelnionych, jak i nieuwierzytelnionych użytkowników?

Być może to :

A to da ci funkcjonalność niezbędną do tworzenia unikalnego identyfikatora użytkownika zarówno dla uwierzytelnionych użytkowników, jak i nieuwierzytelnionych użytkowników.

A co z kluczami przejściowymi?

Tak – częścią tego, o czym mówimy, jest również tworzenie unikalnych kluczy przejściowych.

Aby to zrobić, stwierdziłem, że dość łatwo jest połączyć identyfikator użytkownika, który wygenerowaliśmy powyżej i dołączyć go do klucza używanego podczas serializacji przejściowej.

Na przykład :

Następnie, z wartością zwracaną przez tę funkcję, możemy jej użyć do zapisania danych jako nieustalonych za pomocą unikalnych kluczy.

Jeszcze inne opcje

Jak wspomniano, zwykłe używanie funkcji wbudowanych w PHP może nie być właściwą drogą. Ale to nie znaczy, że nie ma innych wartości, które zapewniają unikalną wartość temu, czego potrzebujesz.

W takich przypadkach ważne jest, aby określić, w jaki sposób chcesz zidentyfikować użytkownika, jakiego systemu operacyjnego używają i jakie konto użytkownika jest właścicielem aplikacji.

Jeśli to nie zapewnia wystarczająco unikalnego ustawienia (i jest bardzo prawdopodobne, że nie nastąpi to w pewnych warunkach), zasada nadal obowiązuje – wystarczy zamienić wywołanie funkcyjne get_current_user() na coś, co działa najlepiej dla ty.

Źródło nagrywania: tommcfarlin.com

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów