Я хочу сделать страницу доступной только со страницы, которая перенаправляет на нее. эта страница, которая перенаправляет на эту страницу, называется /purchase.php, а затем эта страница перенаправляет на страницу, которая называется /username.php, я хочу, чтобы эта страница была доступна только из /purchase.php, а не напрямую с URL-адреса.
Решение:
Для покупки .php:
<?php
session_start();
//Put this when the purchase is vailidated
$SESSION_['fromMain'] = "true";
//Then redirect
header ("Location: url.com/username.php");
?>
Для username.php:
<?php
//Check if the browser comes from purchase php
if($_SESSION['fromMain'] == "false"){
//If not redirect to index page
header ("Location: url.com/index.php
} else {
$SESSION_['fromMain'] = "false";
{
?>
В качестве дополнительной меры (помимо комментария, уже сделанного CD001), вы можете использовать переменную $ _SERVER [«HTTP_REFERER»], которая будет пустой, если скрипт запрашивается прямо из интерфейса браузера.
Других решений пока нет …