Форумы портала PHP.SU » » HTTP и PHP » Абсолютая единая точка входа

Страниц (3): [1] 2 3 »
 

1. armancho7777777 - 05 Мая, 2012 - 19:52:42 - перейти к сообщению
Всем привет!
Класический способ для единой точки входа - 3 строчки кода в .htaccess:|
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteCond %{REQUEST_FILENAME} !-f
  2. RewriteCond %{REQUEST_FILENAME} !-d
  3. RewriteRule ^(.*)$ index.php [L,QSA]


Убираем вторую строку, чтобы контролировать запросы к папкам.

А как быть при отсутствии RewriteCond %{REQUEST_FILENAME} !-f ?

Можно конечно сделать так для css:
PHP:
скопировать код в буфер обмена
  1.  
  2. <style>
  3. <?PHP include './styles/style.css'; ?>
  4. </style>
  5.  


и для js:
PHP:
скопировать код в буфер обмена
  1.  
  2. <script type="text/javascript">
  3. <?PHP include './js/file.js'; ?>
  4. </script>
  5.  


Но может кто лучший способ предложит?

А почему я это хочу реализовать?
Если вызвать js файл, который в админке находится, на прямую из адресной стороки, то вуаля))
И авторизация не нужна, что бы прочесть его))
2. EuGen - 05 Мая, 2012 - 19:59:18 - перейти к сообщению
В плане отдать пользователю файл через фронт-контроллер?
Тогда file_exists + readfile
3. armancho7777777 - 05 Мая, 2012 - 20:00:07 - перейти к сообщению
EuGen пишет:
В плане отдать пользователю файл через фронт-контроллер?

Как отдавать файл - не проблема.
Просто, стилевые и js файлы подключаются обычно таким способом:

<link href="/styles/gallery.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="/js/jquery-1.6.2min.js"></script>


А при поключении средствами PHP (на пример, include) код этих файлов выгружается целиком.
Можно как-то это обойти, что бы механизм был аналогичен класическому подключению
стилевых и js файлов?
4. caballero - 05 Мая, 2012 - 20:08:05 - перейти к сообщению
Цитата:
Если вызвать js файл, который в админке находится, на прямую из адресной стороки, то вуаля))
И авторизация не нужна, что бы прочесть его

его всегда можно будет прочесть как и все что отдается на браузер
5. sKaa - 05 Мая, 2012 - 20:08:29 - перейти к сообщению
Указывать абсолютный путь к файлу?
CODE (htmlphp):
скопировать код в буфер обмена
  1. http://.../css/style.css

Хотя даже для такого файла я бы написал какой-нибудь "minify", чтоб он перед тем как "отдавать" потирал коменты, пустые строки и всякий хлам.
6. armancho7777777 - 05 Мая, 2012 - 20:10:29 - перейти к сообщению
caballero пишет:
его всегда можно будет прочесть как и все что отдается на браузер

C чего это?)
Если все запросы перенаправить в index (в том числе и для существующик папок и дирректорий), то из папки, на пример, 'admin' Вы ничего не прочитаете, пока не авторизуетесь.
Соответственно если в контролёре для этого всё предусмотрено))
(Добавление)
Попробую объяснить ещё раз))
Если, на пример файл стилей подключен так:
<link href="/styles/gallery.css" rel="stylesheet" type="text/css">
то в исходном коде можно увидеть только эту строку.
А если, на пример, инклюдить, то в иходном коде будет весь css код:

CODE (css):
скопировать код в буфер обмена
  1.  
  2. #ul_gallery .div_images A {
  3.         display:block;
  4.         background:#000;
  5.         width:280px;
  6.         height:210px;
  7.         text-decoration:none;
  8.         position:absolute;
  9.         top:0;
  10.         left:0;
  11.         }
  12.        
  13.        
  14.        
  15. #ul_gallery .div_images IMG {
  16.         border:0;
  17.         position:relative;
  18.         }
  19.        
  20.        
  21.        
  22. #gallery .link_back {
  23.         top:10px;
  24.         }
  25.  
  26. /* и т. д. */
  27.  

(Добавление)
Можно это обойти, или чёрт с ним.
На скорость загрузки страницы это не повлияет?
Что так, что так?
7. sKaa - 05 Мая, 2012 - 20:17:50 - перейти к сообщению
armancho7777777 пишет:
Если все запросы перенаправить в index (в том числе и для существующик папок и дирректорий), то из папки, на пример, 'admin' Вы ничего не прочитаете, пока не авторизуетесь.
Соответственно если в контролёре для этого всё предусмотрено))

Не говорите глупостей, я тут вспоминаю ваш класс преобразования дат Улыбка Любой контент который сервер отдает браузеру может быть прочитан! Файлы JS, CSS, JPG|BMP|GIF|FLV|MP4|MP3 итд. являются обычным контентом
8. armancho7777777 - 05 Мая, 2012 - 20:23:54 - перейти к сообщению
И как Вы его прочитаете, если у Вас доступа не к основной дирректории админки?
9. sKaa - 05 Мая, 2012 - 20:23:57 - перейти к сообщению


Uploaded with ImageShack[dot]us
10. armancho7777777 - 05 Мая, 2012 - 20:24:53 - перейти к сообщению
sKaa, как Вы его прочитаете, если у Вас доступа нет к основной дирректории админки?
(Добавление)
sKaa пишет:
Не говорите глупостей, я тут вспоминаю ваш класс преобразования дат

Ну во первых не преобразования дат, а вычисления разниц и т.п.
А во вторых, вчитывайтесь в то, на что отвечаете, да к тому же подобным ответом.
11. sKaa - 05 Мая, 2012 - 20:27:53 - перейти к сообщению
???
12. armancho7777777 - 05 Мая, 2012 - 20:28:39 - перейти к сообщению
Ну и что это?
(Добавление)
Повторяю ещё раз для глухих и не зрячих,
дирректория запаролена!
13. sKaa - 05 Мая, 2012 - 20:30:59 - перейти к сообщению
А, что по скрину не видно, что это такое? Ладно, это уже превращается в флуд какой-то. Вам просто говорят, что скрыть от пользователя JS и CSS которые каким либо образом подключаются к странице и отдаются пользователю невозможно!
14. armancho7777777 - 05 Мая, 2012 - 20:32:26 - перейти к сообщению
И вслучае, если в корне админки, в .htaccess ода строка,
RewriteRule ^(.*)$ index.php [L,QSA]
то ни хрена вы там не прочитаете, кроме html разметки формы авторизации.
(Добавление)
sKaa пишет:
А, что по скрину не видно, что это такое? Ладно, это уже превращается в флуд какой-то. Вам просто говорят, что скрыть от пользователя JS и CSS которые каким либо образом подключаются к странице и отдаются пользователю невозможно!

Да я не пытаюсь скрыть исходный код!
Читайте внимательно о чём речь!
Надо исключить выдачу css и js файлов админки на прямую из адресной строки.
15. sKaa - 05 Мая, 2012 - 20:37:05 - перейти к сообщению
Ты такой самоуверенный, я в шоке вообще Улыбка Ты так разговариваешь со мной как-будто я мальчик тут и не знаю о чем тебе настойчиво утверждаю!
Я готов поспорить с тобой на любую сумму денег, у меня есть в залог машина CHEVROLET AVEO 2010г.в черный металик седан 1.6 16, могу тут спорить на нее.

Суть спора : есть к странице каким либо образом подключены стили или JS я их прочитаю!

 

Powered by ExBB FM 1.0 RC1