Безопасность в SKY приложениях
SECURITY2
дочерние связи:
SKY Framework обеспечивает стандартный уровень безопасности, в соответствии с известными шаблонами взлома кода. Имеется возможность только увеличивать уровень безопасности различными способами, см. узел DIRS.
1. Пароль доступа к БД не записывается в переменную, а является прямым параметром функции подключения к БД.
2. Функция обертка html(), причисляется к основным и содержится в файле первого крыла. Ее правильное использование позволяет блокировать атаки javascript, например <srcipt>alert()</srcipt> и подобные. В контроллерах MVC схемы имеется возможность использовать префиксы $h_, при использовании которых значения переменных будут автоматически "оборачиваться" функцией html(), перед передачей в файлы видов.
3. В не зависимости от возвращаемого значения функцией get_magic_quotes_gpc() (актуально для старых версий PHP), суперглобальные массивы GPC, например $_GET, всегда содержат данные без экранирования (обратным слешем) и могут использоваться для записи в БД только после использования функции escape(), например:
Переменные же прототипы GPC, всегда, в не зависимости от get_magic_quotes_gpc(), всегда будут экранированы, например, безопасный запрос:
То есть имеется совершенно четко определенная схема, когда трудно ошибиться и забыть сделать экранирование. Функция escape(), причислена к основным составляющим ядра и содержится в коде первого крыла.
4. Все включаемые файлы начинаются кодом, подобным <?php defined('START') or die;
5. LIVE инсталляции приложений работают с отключенной трассировкой и с отключенным режимом показа ошибок приложений.
6. В SKY Framework, в публичных приложениях, не содержится исполняемый код PHP в БД.
7. Код второго крыла поддерживает два уровня авторизации доступа к административному разделу.
8. SKY Framework имеются средства для блокирования агрессивных пользователей, детектирования "flood" POST запросов, ботов и запросов не поддерживающих javascript и cookie.
9. В SKY Framework, совершенно четко разделяются "крышевание" и валидация данных, смотрите пункт "Термины" в главном меню. Для построения типичного функционала валидации имеется функция и метод класса в коде второго крыла. При крышевании, всегда используется функция die(), в то время как для нормального завершения скрипта используется функция-синоним exit(). Это позволяет однозначно понимать различия в коде.
10. В админ. части, в меню "Main" есть подменю "Guard" со стандартным алгоритмическим функционалом, назначение которого - повышение безопасности проекта SKY приложения.
1. Пароль доступа к БД не записывается в переменную, а является прямым параметром функции подключения к БД.
2. Функция обертка html(), причисляется к основным и содержится в файле первого крыла. Ее правильное использование позволяет блокировать атаки javascript, например <srcipt>alert()</srcipt> и подобные. В контроллерах MVC схемы имеется возможность использовать префиксы $h_, при использовании которых значения переменных будут автоматически "оборачиваться" функцией html(), перед передачей в файлы видов.
3. В не зависимости от возвращаемого значения функцией get_magic_quotes_gpc() (актуально для старых версий PHP), суперглобальные массивы GPC, например $_GET, всегда содержат данные без экранирования (обратным слешем) и могут использоваться для записи в БД только после использования функции escape(), например:
001
002
003
004
sqlf("insert into rubric %s", [
'name' => escape($_GET['name']),
]);
Переменные же прототипы GPC, всегда, в не зависимости от get_magic_quotes_gpc(), всегда будут экранированы, например, безопасный запрос:
001
002
sql("insert into rubric (name) values ('$g_name')");
То есть имеется совершенно четко определенная схема, когда трудно ошибиться и забыть сделать экранирование. Функция escape(), причислена к основным составляющим ядра и содержится в коде первого крыла.
4. Все включаемые файлы начинаются кодом, подобным <?php defined('START') or die;
5. LIVE инсталляции приложений работают с отключенной трассировкой и с отключенным режимом показа ошибок приложений.
6. В SKY Framework, в публичных приложениях, не содержится исполняемый код PHP в БД.
7. Код второго крыла поддерживает два уровня авторизации доступа к административному разделу.
8. SKY Framework имеются средства для блокирования агрессивных пользователей, детектирования "flood" POST запросов, ботов и запросов не поддерживающих javascript и cookie.
9. В SKY Framework, совершенно четко разделяются "крышевание" и валидация данных, смотрите пункт "Термины" в главном меню. Для построения типичного функционала валидации имеется функция и метод класса в коде второго крыла. При крышевании, всегда используется функция die(), в то время как для нормального завершения скрипта используется функция-синоним exit(). Это позволяет однозначно понимать различия в коде.
10. В админ. части, в меню "Main" есть подменю "Guard" со стандартным алгоритмическим функционалом, назначение которого - повышение безопасности проекта SKY приложения.
Новости
7 Jan 2013 GMT Проект SKY. стартовал в интернете.
18 Oct 2018 GMT Обновление null-site MVC.
11 Oct 2018 GMT Опубликовано приложение MED.CRM.SKY..
Статьи
Статус SKY.
Current version: 1.001
Coresky records: 22
Local (DEV) records: 89
Web (all) records: 105
Download: dev.php
Coresky records: 22
Local (DEV) records: 89
Web (all) records: 105
Download: dev.php