Сигурност и права за достъп в уеб приложения изработени с работната рамка Yii
e-School Beta
1.
2. Цели на проекта
Повишаване на информираността на
родителите за успеваемостта и
поведението на учениците в училище.
3. Администратор
Администраторът извършва цялостно
управление на съдържанието:
въвеждане на предмети, паралелки,
учители, учебен план, ученици и
седмично разписание, като при
добавянето на учители и ученици
разполага с функция за импорт на
данните чрез “*.CVS” файл.
4. Потребителски права
• Учителят има права да вписва оценки,
отсъствия и забележки на учениците от
класовете, в които преподава. На
своето информационно табло може да
публикува преподадения за деня урок и
домашната работа.
• Учениците и родителите могат да
разглеждат личните си оценки,
отсъствия, забележки, преподадени
уроци и домашни работи.
5. За реализирането на проекта са
използвани:
• HTML5
• CSS2
• PHP (Zend Framework)
• C# (.NET)
• JavaScript (jQuery)
• XML
• MySQL
6. Front-End разработка
• HTML5 History API
• jQuery Validation Engine
• jQuery Datepicker
• CSS2
7. Защо Zend е най-добрия избор?
• Превод и локализация
• Голям брой добре-тествани компоненти.
• Всеки компонент може да се използва
самостоятелно.
• Конвенции и стандарти за именуване
• Добре подбрана файлова структура.
• Layout слой
• Web услуги
• Работа с бази данни
8. PHP сигурност
• SQL Injection: prepared statements
• XSS: Zend_View_Helper
• CSRF: Zend_Form_Element_Hash
• Качване на файлове: проверка на Mime
type
• Контрол над достъпа: Zend_Auth
• Сесии: httpOnly флаг, regenerateId() и
т.н.
• Валидация: Zend Framework има
вградени валидатори (Alnum, Alpha,
Digits, Iban, Hostname и други).
9. PHP производителност
• Кеширане на MySQL заявките.
• Добре подбрани индекси на таблиците.
• Добре подбрана конфигурация на
Apache.
• Използване на built-in PHP функции,
когато е възможно.
• Тестване на приложението със Zend
Performance Suite.
11. PHP мащабируемост
• Модулна структура на приложението.
• Абстрактни слоеве за бази данни и т.н.
Документиране на кода
• Използване на тагове като @author,
позволяващи лесното документиране на
кода и улесняване по-късната
разработка на проекта.
12. Системата разполага с:
• Ajax навигация
• Ajax валидация на уеб формите
• Търсачка, използваща full-text.
• API интерфейс
• Desktop приложение
• WAP/WML интерфейс