- •Область применения
- •История php
- •2. Змінні. Константи. Вбудовані константи. Елементи структурного програмування (розгалуження, організація циклів, передача управління) Основы
- •Предопределенные переменные
- •Область видимости переменной
- •Ключевое слово global
- •Использование статических (static) переменных
- •Ссылки с глобальными (global) и статическими (static) переменными
- •Переменные переменных
- •Переменные извне php html-формы (get и post)
- •Имена переменных кнопки-изображения
- •Точки в именах приходящих переменных
- •Определение типов переменных
- •Константы Содержание
- •Синтаксис
- •"Волшебные" константы
- •Выражения
- •3. Використання масивів у php. Способи створення масиву. Індексні масиви.Асоціативні масиви Массивы
- •Синтаксис Определение при помощи array()
- •Создание/модификация с помощью синтаксиса квадратных скобок
- •Полезные функции
- •Что можно и нельзя делать с массивами
- •Так что же в этом плохого?
- •Преобразование в массив
- •Сравнение
- •Примеры
- •4. Функції в php. Синтаксис опису функцій. Порядок визначення і виклику. Способи
- •Функции, определяемые пользователем
- •Аргументы функции
- •Передача аргументов по ссылке
- •Значения аргументов по умолчанию
- •Списки аргументов переменной длины
- •Возврат значений
- •Обращение к функциям через переменные
- •Анонимные функции
- •5. Схема роботи Web-додатку, архітектура клієнт-сервер. Протокол http. Загальна структура http-повідомлень (запит, відповідь)
- •Технические особенности[править | править вики-текст]
- •Архитектура веб-приложений[править | править вики-текст]
- •Программное обеспечение[править | править вики-текст]
- •Клиенты[править | править вики-текст]
- •Исходные серверы[править | править вики-текст]
- •Прокси-серверы[править | править вики-текст]
- •История развития[править | править вики-текст]
- •Структура протокола[править | править вики-текст]
- •Стартовая строка[править | править вики-текст]
- •Методы[править | править вики-текст]
- •Options[править | править вики-текст]
- •Get[править | править вики-текст]
- •Head[править | править вики-текст]
- •Post[править | править вики-текст]
- •Put[править | править вики-текст]
- •1Xx Informational («Информационный»)
- •2Xx Success («Успех»)
- •3Xx Redirection («Перенаправление»)
- •4Xx Client Error («Ошибка клиента»)
- •5Xx Server Error («Ошибка сервера»)
- •Заголовки[править | править вики-текст]
- •Тело сообщения[править | править вики-текст]
- •Основные механизмы протокола[править | править вики-текст] Частичные get[править | править вики-текст]
- •Условные get[править | править вики-текст]
- •Согласование содержимого[править | править вики-текст]
- •Управляемое сервером[править | править вики-текст]
- •Управляемое клиентом[править | править вики-текст]
- •Прозрачное согласование[править | править вики-текст]
- •Множественное содержимое[править | править вики-текст]
- •Особенности протокола[править | править вики-текст]
- •6. Обробка даних html-форм. Способи передачі параметрів сценарію php. Звернення до параметру, переданому з форми Обработка данных из html-форм при помощи php
- •Способы передачи параметров сценарию
- •Передача параметров с помощью html-форм
- •Назначение[править | править вики-текст]
- •Понятие[править | править вики-текст]
- •История[править | править вики-текст]
- •Заблуждения[править | править вики-текст]
- •Работа куки[править | править вики-текст] Установка куки[править | править вики-текст]
- •Атрибуты куки[править | править вики-текст]
- •Условия истечения срока хранения[править | править вики-текст]
- •Аутентификация[править | править вики-текст]
- •Настройка браузера[править | править вики-текст]
- •Приватность и сторонние куки[править | править вики-текст]
- •Недостатки куки[править | править вики-текст]
- •Неточная идентификация[править | править вики-текст]
- •Кража куки[править | править вики-текст]
- •Подмена куки[править | править вики-текст]
- •Межсайтовые куки[править | править вики-текст]
- •Нестабильность между клиентом и сервером[править | править вики-текст]
- •Срок действия куки[править | править вики-текст]
- •Альтернативы куки[править | править вики-текст]
- •Url (строка запроса)[править | править вики-текст]
- •Скрытые поля формы[править | править вики-текст]
- •Http-аутентификация[править | править вики-текст]
- •Сохранение на клиентской стороне[править | править вики-текст]
- •Куки и сессии http
- •Обеспечение безопасности передачи данных http
- •Назначение[править | править вики-текст]
- •Понятие[править | править вики-текст]
- •История[править | править вики-текст]
- •Заблуждения[править | править вики-текст]
- •Работа куки[править | править вики-текст] Установка куки[править | править вики-текст]
- •Атрибуты куки[править | править вики-текст]
- •Условия истечения срока хранения[править | править вики-текст]
- •Аутентификация[править | править вики-текст]
- •Настройка браузера[править | править вики-текст]
- •Приватность и сторонние куки[править | править вики-текст]
- •Недостатки куки[править | править вики-текст]
- •Неточная идентификация[править | править вики-текст]
- •Кража куки[править | править вики-текст]
- •Подмена куки[править | править вики-текст]
- •Межсайтовые куки[править | править вики-текст]
- •Нестабильность между клиентом и сервером[править | править вики-текст]
- •Срок действия куки[править | править вики-текст]
- •Альтернативы куки[править | править вики-текст]
- •Url (строка запроса)[править | править вики-текст]
- •Скрытые поля формы[править | править вики-текст]
- •Http-аутентификация[править | править вики-текст]
- •Сохранение на клиентской стороне[править | править вики-текст]
- •8. Сесії (сеанси) php, основна ідея використання сесій, початок сеансу, завершення сеансу. Ідентифікатор сесії. Змінні сесії
- •Открытие сессии
- •Регистрация переменных сессии
- •Закрытие сессии
- •Пример простой сессии
- •Передача идентификатора сессии
- •9. Багатофайлові сценарії php. Включення файлів, принцип роботи include, include_once, require, require_once
- •10. Створення класу, синтаксис опису. Створення об'єкта Классы и объекты в php
- •11. Успадкування, модель одиночного наслідування. Синтаксис опису класу-нащадка Наследование (программирование)
- •Типы наследования[править | править вики-текст] Простое наследование[править | править вики-текст]
- •Множественное наследование[править | править вики-текст]
- •Единый базовый класс[править | править вики-текст]
- •Наследование в языках программирования[править | править вики-текст]
- •Delphi (Object Pascal)[править | править вики-текст]
- •Python[править | править вики-текст]
- •Php[править | править вики-текст]
- •Objective-c[править | править вики-текст]
- •Java[править | править вики-текст]
- •C#[править | править вики-текст]
- •Ruby[править | править вики-текст]
- •JavaScript[править | править вики-текст]
- •Конструкторы и деструкторы[править | править вики-текст]
- •12. Абстрактний метод, абстрактний клас. Інтерфейс и, призначення, синтаксис опису, реалізація.
- •Содержание
- •Примеры[править | править вики-текст]
- •C#[править | править вики-текст]
- •Описание и использование интерфейсов[править | править вики-текст]
- •Интерфейсы и абстрактные классы[править | править вики-текст]
- •История[править | править вики-текст]
- •Назначение[править | править вики-текст]
- •Концепция[править | править вики-текст]
- •Наиболее частые ошибки[править | править вики-текст]
- •Строковые типы
- •Бинарные данные
- •Целые числа
- •Дробные числа
- •Типы даты и времени
- •Команды sql
- •Типы полей базы данных
- •15. Функції php управління з'єднанням з MySql. Функції php побудови і виконання запитів на сервері MySql. Функції php обробки результату запиту Функции php для работы с MySql
- •16. Область використання .Htaccess ответ 1: Защита сайта с помощью .Htaccess и .Htpasswd
- •Ответ 2:Защита сайта с помощью .Htaccess и .Htpasswd
- •Базовая аутентификация
- •Замечание
- •Замечание
- •Замечание
- •Замечание
- •Создание файла с паролями .Htpasswd
- •Замечание
- •Замечание
- •Защита файлов .Htpasswd
- •Создание файла .Htaccess
- •Пример файла .Htaccess
- •Внимание!
- •Файлы групп
Подмена куки[править | править вики-текст]
Подмена куки: атакующий отправляет серверу подложные куки, возможно изменив легитимные куки, ранее полученные от сервера.
Хотя теоретически куки должны сохраняться и отправляться назад на сервер неизменными, злоумышленник может изменить их содержимое перед отправкой. К примеру, куки могут содержать общую сумму, которую пользователь должен уплатить за свои покупки; изменив это значение, злоумышленник сможет заплатить меньше установленной суммы. Процесс изменения содержимого куки называется подменой куки.
Для защиты от подобных атак большинство веб-сайтов хранят в куки лишь идентификатор сессии — случайно сгенерированное число или набор символов, используемое для определения сессии, в то время как вся другая информация хранится на сервере. В этом случае подмена куки значительно затрудняется.
Межсайтовые куки[править | править вики-текст]
Атакующий использует баг браузера для отправки серверу подложных куки.
Каждый сайт должен иметь свои собственные куки, и сайт example.com не должен изменять или устанавливать куки другого сайта example.org. Уязвимости веб-браузеров позволяют вредоносным сайтам нарушать это правило. Это похоже на отправление куки, но здесь злоумышленник атакует пользователей с уязвимыми браузерами, а не сайт напрямую. Целью таких атак могут быть идентификаторы сессий.
Для защиты пользователям рекомендуется использовать последние версии браузеров, в которых эта проблема исправлена.
Нестабильность между клиентом и сервером[править | править вики-текст]
Куки могут вызвать противоречия между клиентом и сервером. Если пользователь получает куки, а затем нажимает кнопку «Назад» в браузере, то состояние браузера уже другое по сравнению с моментом получения куки. Для примера возьмем электронный магазин с корзиной покупок, основанной на применении куки: пользователь добавляет покупку в корзину, затем нажимает кнопку «Назад», но покупка остаётся в корзине, хотя пользователь, возможно, хотел отменить покупку. Это может привести к путанице и ошибкам. Веб-разработчики должны помнить об этом и принимать меры для решения таких ситуаций.
Срок действия куки[править | править вики-текст]
Постоянные куки критикуются экспертами за свой долгий срок хранения, который позволяет веб-сайтам отслеживать пользователей и создавать их профиль с течением времени.[31] Здесь затрагиваются и вопросы безопасности, поскольку украденные постоянные куки могут использоваться на протяжении значительного периода времени.
Кроме того, правильно составленная вредоносная программа, которая может быть запущена после аутентификации пользователя, сможет перенести сессионные куки на компьютер злоумышленника, что в первом приближении позволит посещать защищённый сайт без ввода имени пользователя и пароля сколь угодно долгое время.
Альтернативы куки[править | править вики-текст]
Некоторые операции, для которых используются куки, могут быть реализованы с помощью других механизмов. Тем не менее, эти альтернативы имеют свои недостатки, которые делают куки порой более предпочтительными на практике. Большинство этих альтернатив позволяет отслеживать пользователя, хотя и менее надёжным способом, чем куки. Как результат, неприкосновенность частной жизни остаётся под угрозой, даже если куки отключены браузером или не устанавливаются сервером.
IP-адрес[править | править вики-текст]
Основная статья: IP-адрес
Этот ненадёжный метод отслеживания пользователей основан на хранении IP-адресов компьютеров, просматривающих страницы. Данная техника доступна с самого появления World Wide Web, которая требует знания IP-адреса клиента для загрузки страницы. Эту информацию можно хранить на сервере вне зависимости от того, используются куки или нет.
Тем не менее этот способ менее надёжен, чем куки, поскольку компьютеры и прокси могут совместно использоваться несколькими пользователями, а один компьютер может использовать разные IP-адреса в разных сессиях (динамический IP-адрес).
Отслеживание по IP-адресу может оказаться невозможным и при использовании систем сохранения анонимности (например, Tor). В таких системах один браузер может иметь несколько IP-адресов, и несколько пользователей могут использовать один IP-адрес, в результате чего отслеживание IP-адреса не представляется возможным.
Некоторые крупные провайдеры, включая AOL, пропускают весь веб-трафик через сеть прокси[источник не указан 1754 дня], что также делает этот метод неосуществимым.
