Это моя рабочая установка
Главная страница -> Форум страница
Вы можете получить доступ к странице форума, только когда заходите с главной страницы. Если вы заходите на страницу форума из любого места, вы возвращаетесь на главную страницу.
Вот код на моей странице форума, и он работает как задумано
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=*
Я просто не знаю, как добавить это с правильным синтаксисом к моему первому правилу выше, чтобы это работало. Любые идеи высоко ценятся.
Я думаю, вы могли бы сделать что-то вроде этого
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']
; браузеры не гарантируют правильную установку или ее установку вообще. Меня особенно беспокоит, что вопрос помечен как защищенный, поскольку это не обеспечивает реальной безопасности.
Других решений пока нет …