Защита структуры сайта от просмотра
При разработке сайтов большое внимание необходимо уделять вопросам безопасности. Поэтому в данной небольшой статье, я покажу Вам один из вариантов организации структуры сайта.
Итак, когда мы пишем сайт на основе MVC,организация папок, в которых лежат наши контроллеры, шаблоны, модели и т.д., будет примерно следующей:
site.loc
controllers
views
models
config
js
css
core
lib
.htaccess
index.php
Вроде-бы логично, что контроллеры в одной папке, шаблоны в другой, ведь именно так делится ответственность между компонентами приложения, но здесь присутствует один большой минус. Вся структура сайта доступна наружу по url-адресам. Что, согласитесь, совсем нехорошо.
http://site.loc/controllers
http://site.loc/config
...
http://site.loc/lib
Да это решается очень просто скажете Вы - для этого надо, например, в каждую папку положить файл .htaccess,, который запретит доступ к ее содержимому. Да это верно, но можно поступить лучше, организовав структуру сайта следующим образом:
site.loc
app
controllers
views
models
core
public
css
js
.htaccess
index.php
.htaccess
Посмотрите, разве не смотрится лучше, чем предыдущий пример. Тут код приложения лежит в отдельной папке app, которая не доступна извне, т.е. к ней нет доступа по url-адресу. Все что, должно быть доступно наружу располагается в папке public, таким образом увеличивается безопасность всего сайта.
Содержимое файла .htaccess, который лежит в корне сайта:
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
Даный код перенаправляет все запросы к папке public, в которой лежит свой файл .htaccess с уже привычным содержимым.
AddDefaultCharset UTF-8
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L]
Вот так можно организовать более безопасную структуру сайта.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.