ݺߣ

ݺߣShare a Scribd company logo
ЗАЩИТА ПРИ СЪЗДАВАНЕ НА
РНР-ПРИЛОЖЕНИЯ В ИНТЕРНЕТ
• Средства на зложелателите
• Общи практики
• Конкретни практики
Защита при създаване на PHP приложения в интернет
СРЕДСТВАТА НА ЗЛОЖЕЛАТЕЛИТЕ
СЕМАНТИЧНИ АТАКИ
XSS АТАКИ
CRFS – CROSS-SITE ФАЛШИФИКАТИ НА
ЗАЯВКИ
ЛЪЖЛИВИ HTTP ЗАЯВКИ
БАЗИ ДАННИ
• db.inc
• SQL инжектиране
ФИКСИРАНЕ НА СЕСИИ
ПРОБЛЕМИ СЪС СПОДЕЛЕН ХОСТИНГ
• Обща файлова система
ДОБРИ ОБЩИ ПРАКТИКИ
ФИЛТРИРАНЕ НА ВХОДЯЩАТА ИНФОРМАЦИЯ
• „Изчистен масив“
• Конкретен подход
• Switch
• Вградени функции
• Регулярни изрази
ДЕКОДИРАНЕ НА ИЗХОДЯЩАТА ИНФОРМАЦИЯ
• htrmentities()
• htmlspecialchars()
• mysql_real_escape_string()
• mysqli_real_escape_string()
ДРУГИ ОБЩИ СЪВЕТИ
• Изключена register_globals
• Възможно най-малко привилегии
• Защита в дълбочина
• SSL
КОНКРЕТНИ ПРАКТИКИ
ЗАЩИТА ОТ СЕМАНТИЧНИ АТАКИ
• (Трябва сигурност) ? POST : GET;
• ! $_REQUEST
ЗАЩИТА НА БАЗИ ДАННИ
• db.inc
• Извън публичната директория
• Настройки на Apache
• Разширение .php
• Sql инжектиране
• mysqli_real_escape_string()
• md5 != 100%, md5+собствени модификации
• mysqli_error само при разработка!
• prepared заявки
ЗАЩИТА ПРИ СПОДЕЛЕН ХОСТИНГ
• Важни данни – във файл с ограничени права
• Сесийни данни – в база данни
ЗАЩИТА ПРИ СЕСИИ
• session_regenerate_id();
• Подновяване всеки път на ИД-то на сесията
• Проверка на http header-a (например
HTTP_USER_AGENT)
• Добавяне на още проверки за идентификация
ИЗВОД

More Related Content

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