Как перенаправить пользователей на основе случайной строки URL?

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

Так, как я его настроил, будет создана случайная 12-символьная строка, сгенерированная и добавленная к URL-адресу. Например:

http://www.example.com?skey=a72bzy321bgf 

Параметр skey всегда будет случайным, но всегда имеет 12 символов. Поэтому в основном, если у моего URL есть параметр & key = с 12 случайными символами, страница отображается правильно. Если нет, посетители отправляются куда-то еще.

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

Благодаря!

Related of "Как перенаправить пользователей на основе случайной строки URL?"

Запросите значение skey и найдите длину значения. Если длина не равна 12, используйте die (), чтобы пользователь не увидел страницу. Используйте следующую страницу на целевой странице. ( http://www.example.com/index.php?skey=a72bzy321bgf )

 <?php if(!isset($_REQUEST['skey']) || strlen($_REQUEST['skey']) != 12){ die("Soory,You came to this page in a Wrong Way."); } ?> //Your Code will goes here. 

Вы можете получить ключ для URL-адреса, а затем проверить свою функцию, как это действительно при запуске вашей страницы

 $key = trim($_GET['key']); if(!isValidKey($key)){ //die('Invalid Key'); //or header("Location: wrongkey.html"); exit; } 

Вам нужно проверить, есть ли $_GET['skey'] isset() , и если длина строки составляет 12 символов.

 if (isset ($_GET['skey']) && strlen($_GET['skey']) == 12) { // Get in } else { // Go away } 

Это, конечно, не правильный способ проверить, откуда пришел пользователь, так как ваш URL-адрес референта должен будет каким-то образом установить skey как часть URL-адреса.

Можете ли вы вместо этого проверить, есть ли ваш $_SERVER['HTTP_REFERER'] isset() ?

Всем спасибо!

Основываясь на всех ваших предложениях, я объединил некоторые вещи, и это отлично работает для меня до сих пор:

 <?php if(!isset($_REQUEST['skey']) || strlen($_REQUEST['skey']) != 12){ header("Location: http://example.org/not-allowed.php"); exit; } ?> 

Благодаря! Жаль, что я не смог бы отменить все ваши ответы. Надеюсь, это поможет другим.