✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Робота з перехідними процесами та автентифікацією WordPress

4

Продовжуючи зміст попередньої публікації, важливо також розглянути використання перехідних процесів і автентифікації.

Оскільки існують сценарії, коли користувачі проходять автентифікацію на сайті (подумайте про область сайту лише для членів) і або не проходять автентифікацію на сайті (наприклад, відвідувачі сайту).

Подібні ситуації трапляються як у блогах, так і на інших сайтах і веб-додатках.

Перехідні процеси та автентифікація WordPress

Як ми можемо зберігати інформацію про цих користувачів? На щастя, PHP надає нам деякі функції, які дають нам можливість робити це без потреби API WordPress.

Зрештою, мета, якої ми прагнемо досягти, це серіалізація тимчасових даних за допомогою ключа, який використовує ідентифікатор автентифікованого або неавтентифікованого користувача.

І ось як це зробити.

API WordPress

Якщо припустити, що користувач автентифікований за допомогою WordPress, ми можемо використовувати функцію get_current_user_id. Це теж просто.

З посилання на код:

Отримати ідентифікатор поточного користувача

Потім ми можемо використовувати цю функцію в конструкторі, щоб встановити властивість, яка зберігає ідентифікатор користувача. І я зараз покажу код для цього, але як щодо ситуації, коли користувач не ввійшов у систему?

PHP API

Що стосується зберігання інформації для користувачів, які не пройшли автентифікацію, нам все одно потрібен спосіб їх ідентифікації. Це можна зробити різними способами, використовуючи різні значення, які підтримує PHP для додавання до тимчасового ключа.

Пам’ятайте, що ключ має бути унікальним, і якщо він унікальний для користувача на сайті, він має бути хорошим.

PHP пропонує дві функції:

Що стосується другого, то він не працюватиме за допомогою IIS або будь-яких серверів на базі Windows. Але я згадую це тут як ще одну альтернативу для хостів, які базуються на *nix (оскільки їх багато, особливо щодо WordPress).

Функція get_current_user досить зрозуміла:

Отримує ім’я власника поточного сценарію PHP

У посібнику також є щось інше, на що варто звернути увагу. У ньому чітко зазначено, що «[повертає] ім’я власника поточного сценарію PHP». І я розповім про це перед кінцем публікації.

Робота з перехідними процесами та автентифікацією WordPress

Крім того, get_current_user може бути не тим, що ви шукаєте, залежно від того, як налаштовано сервер і який користувач є «власником» сценарію PHP, який виконується на сервері.

Але для цього прикладу досить сказати, що він працює. І ось чому: я намагаюся продемонструвати, як використовувати значення, унікальні для відвідувача, який не пройшов автентифікацію на сайті, для створення ключа, з якого ми можемо отримати інформацію.

Спосіб генерації ключа є вторинним щодо фактичного коду.

Поєднання всього разом

Отже, як виглядає код, якщо ми використовуємо наведені вище функції? Тобто, якщо ми підтримуємо властивість, яка містить ідентифікатор користувача, а потім робить це як для автентифікованих, так і для неавтентифікованих користувачів?

Можливо це :

І це дасть вам необхідні функції для створення унікального ідентифікатора користувача як для автентифікованих користувачів, так і для неавтентифікованих користувачів.

А як щодо тимчасових ключів?

Так, частина того, що ми обговорюємо, також полягає у створенні унікальних тимчасових ключів.

Для цього я виявив, що досить легко об’єднати ідентифікатор користувача, який ми згенерували вище, і додати його до ключа, який використовується під час серіалізації перехідного процесу.

наприклад :

Потім зі значенням, яке повертає ця функція, ми можемо використовувати його для збереження даних як перехідного процесу за допомогою унікальних ключів.

Ще інші варіанти

Як згадувалося, просте використання функцій, вбудованих у PHP, може бути не правильним шляхом. Але це не означає, що немає інших значень, які надають унікальну цінність тому, що вам потрібно.

У таких випадках важливо визначити, як ви хочете ідентифікувати свого користувача, яку операційну систему він використовує та який обліковий запис користувача є власником програми.

Якщо це не надає достатньо унікального параметра (а це дуже ймовірно, що це не буде за певних умов), тоді принцип все одно застосовується – вам просто потрібно буде замінити функціональний виклик get_current_user() на те, що найкраще працює для ти.

Джерело запису: tommcfarlin.com

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі