21
ЗАЩИТА ПРИ СЪЗДАВАНЕ НА РНР-ПРИЛОЖЕНИЯ В ИНТЕРНЕТ

Защита при създаване на PHP приложения в интернет

  • Upload
    -

  • View
    113

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Защита при създаване на PHP приложения в интернет

ЗАЩИТА ПРИ СЪЗДАВАНЕ НА РНР-ПРИЛОЖЕНИЯ В ИНТЕРНЕТ

Page 2: Защита при създаване на PHP приложения в интернет

• Средства на зложелателите

• Общи практики

• Конкретни практики

Page 3: Защита при създаване на PHP приложения в интернет
Page 4: Защита при създаване на PHP приложения в интернет

СРЕДСТВАТА НА ЗЛОЖЕЛАТЕЛИТЕ

Page 5: Защита при създаване на PHP приложения в интернет

СЕМАНТИЧНИ АТАКИ

Page 6: Защита при създаване на PHP приложения в интернет

XSS АТАКИ

Page 7: Защита при създаване на PHP приложения в интернет

CRFS – CROSS-SITE ФАЛШИФИКАТИ НА ЗАЯВКИ

Page 8: Защита при създаване на PHP приложения в интернет

ЛЪЖЛИВИ HTTP ЗАЯВКИ

Page 9: Защита при създаване на PHP приложения в интернет

БАЗИ ДАННИ

• db.inc

• SQL инжектиране

Page 10: Защита при създаване на PHP приложения в интернет

ФИКСИРАНЕ НА СЕСИИ

Page 11: Защита при създаване на PHP приложения в интернет

ПРОБЛЕМИ СЪС СПОДЕЛЕН ХОСТИНГ

• Обща файлова система

Page 12: Защита при създаване на PHP приложения в интернет

ДОБРИ ОБЩИ ПРАКТИКИ

Page 13: Защита при създаване на PHP приложения в интернет

ФИЛТРИРАНЕ НА ВХОДЯЩАТА ИНФОРМАЦИЯ

• „Изчистен масив“

• Конкретен подход

• Switch

• Вградени функции

• Регулярни изрази

Page 14: Защита при създаване на PHP приложения в интернет

ДЕКОДИРАНЕ НА ИЗХОДЯЩАТА ИНФОРМАЦИЯ

• htrmentities()

• htmlspecialchars()

• mysql_real_escape_string()

• mysqli_real_escape_string()

Page 15: Защита при създаване на PHP приложения в интернет

ДРУГИ ОБЩИ СЪВЕТИ

• Изключена register_globals

• Възможно най-малко привилегии

• Защита в дълбочина

• SSL

Page 16: Защита при създаване на PHP приложения в интернет

КОНКРЕТНИ ПРАКТИКИ

Page 17: Защита при създаване на PHP приложения в интернет

ЗАЩИТА ОТ СЕМАНТИЧНИ АТАКИ

• (Трябва сигурност) ? POST : GET;

• ! $_REQUEST

Page 18: Защита при създаване на PHP приложения в интернет

ЗАЩИТА НА БАЗИ ДАННИ

• db.inc

• Извън публичната директория

• Настройки на Apache

• Разширение .php

• Sql инжектиране

• mysqli_real_escape_string()

• md5 != 100%, md5+собствени модификации

• mysqli_error само при разработка!

• prepared заявки

Page 19: Защита при създаване на PHP приложения в интернет

ЗАЩИТА ПРИ СПОДЕЛЕН ХОСТИНГ

• Важни данни – във файл с ограничени права

• Сесийни данни – в база данни

Page 20: Защита при създаване на PHP приложения в интернет

ЗАЩИТА ПРИ СЕСИИ

• session_regenerate_id();

• Подновяване всеки път на ИД-то на сесията

• Проверка на http header-a (например

HTTP_USER_AGENT)

• Добавяне на още проверки за идентификация

Page 21: Защита при създаване на PHP приложения в интернет

ИЗВОД