@luxurypluxury

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

Я с помощью .htaccess смог запретить путь полностью, но как его разрешить только с сессией?
Делал вот так:
RedirectMatch 403 ^/admin/.*$
  • Вопрос задан
  • 102 просмотра
Решения вопроса 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’, и если нет, то перенаправляет его на главную страницу.

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

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

Похожие вопросы