<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру 3.0

PHP и MySQL с Нуля до Гуру 3.0

Данный курс научит Вас программировать на самом популярном Web-языке в мире - PHP. Курс состоит из 9 разделов, в которых с нуля рассказывается и показывается процесс написания различных скриптов на PHP.

В курсе Вы узнаете всю необходимую теоретическую часть, а также увидите массу практических примеров, в том числе, и из моей практики.

В Бонусе «Создание сайта для библиотеки» Вы увидите применение знаний из основного курса при создании полноценного проекта.

Просмотрев данный курс, Вы сможете создавать абсолютно любые PHP-сайты любой сложности.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Зачем Вы изучаете программирование/создание сайтов?

Защита структуры сайта от просмотра

Защита структуры сайта от просмотра

При разработке сайтов большое внимание необходимо уделять вопросам безопасности. Поэтому в данной небольшой статье, я покажу Вам один из вариантов организации структуры сайта.

Итак, когда мы пишем сайт на основе 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]

Вот так можно организовать более безопасную структуру сайта.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.