@pwnsauce

Как закрыть доступ к админ панели на сайте с MVC?

Здравствуйте, возникла проблема с доступом к админ панели. В данный момент, чтобы попасть в АП нужно иметь в БД роль админа (выполняется проверка и все норм). Но сейчас нужно сделать так, чтобы в АП можно было пройти только через apache авторизацию по паролю.

В корневой папке существует .htaccess с таким кодом:
AddDefaultCharset utf-8

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php


Сам же корневой index.php имеет такой код:

<?php

// FRONT CONTROLLER

ini_set('display_errors',1);
error_reporting(E_ALL);

session_start();

// Подключение файла
define('ROOT', dirname(__FILE__));

// Автозагрузка классов
require_once(ROOT.'/components/Autoload.php');


// Роутер
$router = new Router();
$router->run();


Ну в роутере и создаются все пути. И из-за этого вышеприведенный .htaccess распространяется на все папки. Я пыталась создать второй .htaccess с таким кодом:
AddDefaultCharset utf-8

AuthType Basic
AuthName "Admin Panel"
AuthUserFile C:\Open\OSPanel\domains\web\views\admin\.htpasswd
Require valid-user

RewriteRule ^(.*)$ index.php


в папке в view/admin.

5a6df1185b921677054140.png

5a6df16315d38712261645.png

5a6df179545c1913360061.png

Но, он не работает.
Есть мысль, в роутере сделать проверку, если встретится URL /admin создать этот .htaccess файл, который бы блокировал доступ. Но не знаю как это реализовать.
Или где должен лежать .htaccess файл, чтобы при переходе на /admin был закрыт доступ всем?
  • Вопрос задан
  • 501 просмотр
Пригласить эксперта
Ваш ответ на вопрос

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

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