HTTP перенаправление заголовка из нескольких источников

Это моя рабочая установка

Главная страница -> Форум страница

Вы можете получить доступ к странице форума, только когда заходите с главной страницы. Если вы заходите на страницу форума из любого места, вы возвращаетесь на главную страницу.

Вот код на моей странице форума, и он работает как задумано

if($_SERVER['HTTP_REFERER']!=='https://homepage.com/folder/mainpage.php')
{
header('Location: https://homepage.com/folder/mainpage.php');
exit;
}

НО

если я вернусь с подстраницы форума, я также вернусь на главную страницу.
Страница форума выглядит следующим образом

https://homepage.com/folder/forumpage.php?page=view&запись = 16

Это то, чего я хочу достичь

Главная страница -> Форум страница <- Форум-Подстраницы

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

https://homepage.com/folder/forumpage.php?page=*

Я просто не знаю, как добавить это с правильным синтаксисом к моему первому правилу выше, чтобы это работало. Любые идеи высоко ценятся.

0

Решение

Я думаю, вы могли бы сделать что-то вроде этого

if($_SERVER['HTTP_REFERER']!=='https://homepage.com/folder/mainpage.php'
&& substr($_SERVER['HTTP_REFERER'], 0, 47) !== 'https://homepage.com/folder/forumpage.php?page=')
{
header('Location: https://homepage.com/folder/mainpage.php');
exit;
}

Эта установка беспокоит меня, хотя. Я бы не стал полагаться на $_SERVER['HTTP_Referer']; браузеры не гарантируют правильную установку или ее установку вообще. Меня особенно беспокоит, что вопрос помечен как защищенный, поскольку это не обеспечивает реальной безопасности.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]