- •1. Особенности программирования для Web. Различия в программировании на стороне клиента и сервера. Инструменты и технологии программирования.
- •2. Понятие Web-приложения. Типы, классификация, требования.
- •3. Понятие Web-сервера и Web-клинета. Протокол http. Структура запросов и ответов.
- •Структура http-запроса
- •Структура http-ответа
- •4. Cgi. Способы передачи данных. Запоминание состояния.
- •Способы передачи данных между cgi-программой и веб-сервером
- •Переменные окружения
- •5. Технологии ActiveX. Общая характеристика. Сферы использования.
- •Сферы применения
- •6. Технология Java. Общая характеристика. Сферы использования.
- •Сферы использования Java
- •7. Технология asp. Схема обработки запросов. Объекты Request, Response.
- •8. Субд MySql. Общая характеристика и особенности использования.
- •11. Язык разметки html. Структура документа. Элементы разметки для создания текстовых, графических и других объектов. Язык разметки xhtml – правила, версии.
- •Структура документа
- •Элементы разметки
- •Правила xhtml
- •Версии xhtml
- •12. Язык программирование JavaScript. Общая характеристика, методы использования, правила записи основных операторов.
- •Назначение JavaScript
- •Основные операторы
- •13. JQuery, общая характеристика, синтаксис операторов, правила написания селекторов и действий.
- •14. Объектная модель документа. Dynamic html. Примеры использования.
- •15. Язык программирования php. Синтаксис языка, декларации и предложения.
- •16. Язык программирования php. Виды и типы данных – скаляры, массивы и хеши.
- •4 Скалярных типа:
- •2 Комплексных (составных) типа:
- •2 Специальных типа:
- •17. Язык программирования php. Циклы, ветвления и управление ими.
- •18. Язык программирования php. Понятие регулярных выражений. Функции, использующие регулярные выражения.
- •19. Язык программирования php. Работа с текстовыми файлами.
- •20. Язык программирования php. Включение в программу внешних скриптов. Пользовательские подпрограммы. Обработка входных данных.
- •21. Язык программирования php. Доступ к базам данных.
- •22. Аутентификация пользователей средствами php.
- •23. Язык sql. Предложения манипулирования и выборки данных.
- •24. Безопасное программирование на php. Виды атак. Советы и рекомендации по защите программ.
- •2.Межсайтовый скриптинг
24. Безопасное программирование на php. Виды атак. Советы и рекомендации по защите программ.
Виды атак:
1.include баг
Самая уязвимая точка, если в файле написано include ($file); а подключается файл $file = $_GET [‘file’];
include ($file); - так лучше не писать
Пользователь не должен видеть, какие файлы подключаются в другой файл.
2.Межсайтовый скриптинг
htmlspecialchars (<строка>) – позволяет вместо всех специальных символов в текст подставлять их в мнемонике. Например, > – это >, “ – это ". Лучше не использовать теги, а использовать мнемонику.
3.Sql-инъекция
SELECT user, pass FROM users
WHERE user=”$_POST[‘us’]”
AND pass=”$_POST[‘ps’]”;
Например, если user=Delicious, pas=” or 1=1. С “ в пароле будут проблемы.
Ограничение для пароля: 10 символов.
Addslashes (<строка>) - экранирование спец. символов
Stripslashes (<строка>)
title = ‘$t’. Если $t=д’Артаньян, то надо использовать функцию Addslashes, иначе считается только д из $t.
Рекомендации:
1.Не создавать конфигурационные файлы (например, которые содержат имя, пароль), которые доступны через web. Хранить их в другом месте, которое будет не доступно для web.
2.Не делать пароль к БД совпадающим с паролем ftp.
3.Необходимо шифровать все пароли при помощи специальных функций и хранить эти пароли в БД в зашифрованном виде.
4.Необходимо следить за обновлениями ПО.
5.Не нужно давать распространенные имена конфигурационным файлам.
6.Необходима фильтрация всех форм, т.е. предварительная проверка средствами JavaScript (на стороне клиента), потом средствами PHP и т.д.