WordPress — Как поставить редирект перед шаблоном php с проверкой реферера?

У меня есть шаблон в моей (WordPress) папке дочерней темы для пользовательского типа сообщения, который я создал. Это выглядит так:

<head>
…
<style>
…
</style>
<script>
…
</script>
</head>

<header>
…
</header>

<?php
…
?>

<div id="content">
<?php xx_page_header($post->ID); ?>
…
</div>

<?php get_footer(); ?>

Это именно так, как это структурировано. Я говорю это потому, что я новичок в php, и если кто-то захочет мне помочь, то мне больше всего понадобится точный Информация где точно поместить фрагменты кода (которые, в конце концов, будут выглядеть простыми и маленькими, я думаю).

У меня есть 4 страницы, которые основаны на этой странице шаблона. Все они работают хорошо.

Вот что я должен добавить:

Страницы сменяют друг друга, содержащие входные формы и т. Д., И по ним переходят формы, что-то вроде фильтрация процесс.

Как я могу поставить перед шаблоном проверку реферера? Чтобы страницы продолжали работать, НО, если кто-то скопирует одну из ссылок и вставит ее в другое окно браузера, он всегда будет перенаправлен на первый страница из них вместо того, чтобы видеть страницу фактической ссылки.

Я провел несколько исследований настолько хорошо, насколько смог, и нашел несколько предметов, которые хотел бы использовать. Как для:

1) Реферирующая часть:

<?php
$ref=getenv("HTTP_REFERER");
$url='url_redirect';
if($ref!='referer_url'){
header('Location: '.$url);
}
?>

2) регулярное выражение, чтобы оно работало для всех страниц, которые используют шаблон:

ref.match(/^http?:\/\/([^\/]+\.)?mywebpage\.com(\/|$)/i)

Скажем (фильтрация) стартовая страница: www.mywebpage.com/startpage/

Как мне объединить эти фрагменты и куда их поместить (наверное, в начале шаблона)?

Я хотел бы избежать куки. (с помощью реферера)

-1

Решение

Технически, вы можете сделать что-то похожее на код ниже. Каждая из ваших страниц после начальной страницы должна иметь уникальные URL-адреса и токен, который передается на каждой странице. Вам нужно разместить этот код в самом верху вашего шаблона.

Что-то похожее:

<?php
$url='url_redirect';
if((is_page('template2') || is_page('template3') || is_page('template4')) && $_POST['token'] == '') {
header('Location: '.$url);
}
?>
1

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

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

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