Задать вопрос

Как подключить css и js файлы в админку для авторизованных, если они находятся выше public?

Имеется такая структура:
- app
-- assets
---- css
---- js
-- templates
---- header.php
---- footer.php
- public
-- css
-- js
-- index.php

.htaccess
SetEnvIf X-HTTPS 1 HTTPS
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

В файл app/templates/header.php я хочу подключить файлы css из app/assets/css. Но никак не пойму, это лучше сделать, если из браузера к ним нет прямого доступа. Пришла мысль использовать:
<style>
<?php include('app/assets/css/app.css'); ?>
</style>

И тоже самое для скриптов. Но как быть, если в скриптах и стилях используются ссылки исходя из положения этих файлов.

Данные стили и скрипты нужны для админки. Я их не хочу оставлять в public, чтобы к ним не было прямого доступа из браузера. Может я что-то не так понимаю и такие файлы для админки можно оставлять в public? Если со стилями и можно, то не хотелось бы, чтобы можно было увидеть js файлы.

В Laravel есть функция asset(), которая правильно подключает файлы, но у меня не хватает знаний, чтобы посмотреть как именно она это делает.
  • Вопрос задан
  • 104 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 2
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
А если я авторизовался - без проблем, можно видеть все подкюченные файлы. Я это имею в виду. Или же, если стили и скрипты не подключенны на странице, а просто находятся в общей папке, то спорсить их нельзя?
Во первых - если у вас скрипты или стили несут некую угрозу безопасности сайта, то уже что-то пошло не так.
Во вторых - да, можно использовать серверные скрипты для отдачи контента цсс и жс. Но никто так не делает, это неудобно, непрактично, получаем кучу гемороя на ровном месте и никакого профита.
Ответ написан
Комментировать
@russeljo
Как-то так

<script src="js.php?file=main.js" />

<?php
$pathToDirectory;
$file = $_GET['file'];
echo file_get_contents($pathToDirectory . $file);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@entermix
Я их не хочу оставлять в public, чтобы к ним не было прямого доступа из браузера.

Даже если вы сделаете то, что хотите, к содержимому этих файлов все равно будет доступ из браузера, иначе как он будет работать со стилями и скриптами, если доступ к ним будет закрыт?
Ответ написан
Ваш ответ на вопрос

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

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