PHP предотвратить прямой доступ к URL, который не указывает на папку

Я использую.htaccess и удобные ссылки. мой domain.com/contact перенаправляет страницу на domain.com/contact-verify после отправки формы. Если страница проверяет данные, предоставленные пользователем, то перенаправляет страницу на domain.com/thank-you-for-email, Если проверка не удалась, перенаправляет страницу на domain.com/contact снова с ошибками показано. (Post - Redirect - Session Variables течь)

Как я могу предотвратить прямой доступ к domain.com/contact-verify а также domain.com/thank-you-for-email,

я искал .htaccess использование, но можно найти только защиту конкретных файлов защиты. Также я прочитал некоторую информацию в Google, что $_SERVER["HTTP_REFERER"] не надежно?

как примечание, у меня уже есть Options All -Indexes в моем .htaccess,

Можете ли вы описать методику победителя?

1 ответ

Решение

Отслеживайте прогресс пользователя, используя сеансы или куки. Затем для страниц, к которым вы хотите ограничить доступ, добавьте код, чтобы проверить прогресс пользователя и перенаправить (или показать сообщение об отказе в доступе, что вы хотите сделать), если пользователь не достиг требуемой точки прогресса.

if (!isset($_SESSION['progress']) || $_SESSION['progress'] != 2) {
    header('Location: /contact');
    exit;
}
Другие вопросы по тегам