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

Post on 16-Jun-2015

133 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

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

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

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

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)

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

ИЗВОД

top related