Ограничить пользователям просмотр страницы в PHP - PullRequest
1 голос
/ 19 сентября 2019

У меня проблема с сайтом, который я создаю.Я создаю веб-сайт, где пользователи смогут пойти и посмотреть короткое видео, после чего они могут зарегистрироваться и получить ссылку для проверки своей электронной почты.Письмо отправляется на введенный адрес электронной почты, и у него есть ссылка для подтверждения, которая ведет на другую страницуНа этой странице есть кнопка, которая ведет к полному видео.Теперь я хочу запретить пользователям просматривать страницу подтверждения и страницу, на которой пользователи видят полное видео, прежде чем они подтвердят свою электронную почту.Я довольно новичок в PHP и попробовал кое-что, я думаю, что это не так хорошо, но я все еще учусь.

Я хотел перенаправить пользователей, когда они переходят на localhost/verify.php, и позволить им перейти настраницы, когда URL-адрес localhost/verify.php?verified=1, этот URL-адрес с подтверждением = 1 отправляется на их электронные письма.

Но все, что я набираю, перенаправляет index.php

verify.php

 if (stripos($_SERVER['REQUEST_URI'], 'verify.php')){
    header('Location: index.php');
  }
  else if (stripos($_SERVER['REQUEST_URI'], 'verify.php?verified=1')){
    header('Location: verify.php');
  }

Есть ли способ сделать это лучше, так каку пользователей нет возможности зарегистрироваться, и я не сохраняю ни одной сессии.

1 Ответ

1 голос
/ 19 сентября 2019

Даже если вы не создаете пользователей, у вас может быть таблица, которая просто представляет эти адреса электронной почты, которая содержит key, email, verified(bool), verification_token(unique string), затем в контроллере для проверенного маршрута вы можете проверить, существует ли этот проверочный токен, пометить пользователя как проверенногои передать их на видео.Это также позволяет вам сохранять этот токен в cookie-файле, который вы можете проверять каждый раз, когда они достигают этой нормальной конечной точки, без параметра запроса, который вы все равно можете рассматривать как проверенный.Это не полная авторизация, но, похоже, вам не нужен полноценный аутентифицируемый пользователь для этих писем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...