PHP редирект с условиями - PullRequest
0 голосов
/ 02 марта 2019

Здравствуйте, у меня небольшие проблемы с моим php кодом.У меня есть сайт Moodle, и я могу получить информацию о пользователе.Что я пытаюсь сделать:

  1. Мои шаги безумия
  2. Получить имя и фамилию пользователя (переменные верны и работают)
  3. Я генерируюСлучайное начальное использование с использованием MD5 HASH и установка в качестве файла cookie
  4. Затем я беру "userrid" пользователей и объединяю его с начальным значением MD5 для объединения их вместе.
  5. Я установил недавно сгенерированный cookie MD5 HAS в значениеистекает через 30 секунд
  6. Я проверяю условия файлов cookie (если пользователь не вошел в ID пользователя - 0)
  7. Если все условия выполнены, они будут направлены на переменный адрес $ location с помощью перенаправления заголовка.
  8. Если условия не выполняются, они перенаправляются на страницу 404.

Я всегда получаю 404. Заранее благодарю за любую помощь.

<?php
require('../../config.php');
global $USER;
/* Session Variables */
$userid = $USER->id;
$firstname=$USER->firstname;
$lastname=$USER->lastname;

/* Random MD5 seed to set as cookie */
$random = md5(rand(1,1000));
setcookie(MoodleSession, $random, time()+ 30, '/',"", 1);
$_COOKIE['MoodleSession'] = $random;
$randomcookie = $random;

/* Where I want to go if all conditions are true */
$location="Location: https://MyDomainHere.com/uid=".$firstname."_".$lastname;

/* Response Data and verification of MD5 with firstname and lastname */ 
if ($randomcookie."_".$userid !== $randomcookie."_".$userid && $firstname."_".$lastname != ""){
header($location); /* Redirect browser */
die();}

/* If condition are not met, user gets a 404 */
header("Location: https://MyDomainHere.com/404");

?>

Ответы [ 3 ]

0 голосов
/ 05 марта 2019

Я полагаю, что исправление приведенного ниже раздела решит проблему.

$randomcookie."_".$userid !== $randomcookie."_".$userid 
0 голосов
/ 06 марта 2019

А как же?

setcookie("MoodleSession", $random, time()+ 30, '/',"", 1);
0 голосов
/ 02 марта 2019

Ваше утверждение if всегда будет оцениваться как ложное, потому что этот раздел всегда оценивается как ложное.

$randomcookie."_".$userid !== $randomcookie."_".$userid

Вы пытаетесь установить cookie на этой странице, а затем убедитесь, что cookie на странице, которую вы перенаправляетеили вы пытаетесь как установить cookie, так и проверить cookie / вход на этой странице?

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