@luxurypluxury

Как закрыть полностью путь /admin/*.$ и разрешить его с сессией?

Я с помощью .htaccess смог запретить путь полностью, но как его разрешить только с сессией?
Делал вот так:
RedirectMatch 403 ^/admin/.*$
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
@PavelMerk
Fullstack Web Dev
Во-первых, вы можете использовать файл .htaccess для блокировки доступа к пути /admin/*.$ для всех пользователей. Например, вы можете добавить следующие правила в начало вашего файла .htaccess:
<FilesMatch "^admin/.*$">
Order deny,allow
Deny from all
</FilesMatch>

Во-вторых, вы можете использовать PHP для проверки сессии пользователя и разрешить доступ к пути /admin/*.$ только для определенных ролей. Например, вы можете добавить следующий код в начало каждого файла в папке admin:
<?php
session_start();
if (!isset($_SESSION['role']) || $_SESSION['role'] != 'admin') {
  header('Location: index.php');
  exit();
}
?>


Этот код проверяет, есть ли у пользователя сессия с ролью ‘admin’, и если нет, то перенаправляет его на главную страницу.

Надеюсь, это поможет вам решить вашу проблему.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы