У меня есть index.php, которые включают в себя страницы какКак предотвратить прямой доступ к PHP страницы через URL
<?php
define('MyConst', TRUE);
include_once('template/header.php');
if (!empty($_GET['action'])) {
$action = $_GET['action'];
$action = basename($action);
include("template/$action.php");
} else {
include("template/main.php");
}
include_once('template/footer.php');
?>
С в директории шаблона У меня есть main.php, который имеет ссылку на другие страницы, как page1.php, page2.php.
<a href="?action=page1">Goto page 1</a>
<a href="?action=page2">Goto page 2</a>
Как я могу запретить пользователям формировать доступ к страницам непосредственно набрав «http://mydomain.com/?action=page1» на URL? И перенаправить их на main.php, если они это сделали?
Используйте htaccess для перенаправления вашего запроса –
Это не может быть сделано в хорошем смысле. Какова ваша цель - безопасность? –
Единственное возможное решение, которое я вижу, - это использовать сеансы. Сохраните информацию о том, посетил ли пользователь main.php пользователя или нет в сеансе, и проверьте его в своем index.php перед доставкой содержимого. – CBroe