Подробности
Колкото по-свързан става светът, толкова по-проблемна става сигурността. Няма съмнение, че най-критичните части от пъзела на Интернет сигурността са самите уеб сървъри, които взаимодействат директно с множеството от Интернет потребители, обменят данни, извършват финансови транзакции и много други. Сигурността е много важна за PHP, който е най-популярният език за уеб разработки. Напоследък имаше доста сигнали за тревога относно сигурността в PHP. Но факт е, че те не са в резултат от проблеми в самия език, а се дължат на неговата неправилна и незащитена употреба от разработчиците на приложения. За разлика от Java или .NET пространството, PHP общността пуска десетки PHP приложения с отворен код. Приложения от този род включват, например, системи за управление на съдържанието, системи за електронна търговия и форуми. За съжаление много проекти, които не са писани на този език, добавят думата „PHP" в името си. Това води до приписване на грешките в сигурността на тези приложения на PHP технологията, като по този начин се уронва престижът на езика.
Както споменах, повечето от проблемите в сигурността са на ниво приложения и са резултат от незащитен PHP код, който пишат разработчиците. Много трудна задача е да се провери дали всички PHP разработчици са наясно с методите на сигурността. Досега липсваха материали и правила за това, какво е редно да се прави и какво не, което причини появата на много незащитени PHP приложения. Авторът на тази книга Крис Шифлет е посветил работата си на повишаване нивото на сигурността в PHP приложенията. Прекарал е много време в консултиране на компании и писане на статии. Съвсем наскоро той основа Консорциум за сигурността в PHP (PHP Security Consortium) – група от доброволци, които помагат в обучението на PHP общността относно писането на защитен код.
С книгата Основи на PHP сигурността Крис Шифлет предостави на PHP разработчици по целия свят така необходимите ръководни принципи в сигурността. Сигурни сме, че съдържанието на тази книга ще бъде ценна придобивка за екипите, които се занимават с разработка, и ще стане неразделна част от техните знания. Повечето от темите тук са приложими не само в PHP, но и във всички езици за уеб разработка, които срещат подобни заплахи за сигурността. Независимо дали използвате PHP, или друга технология, темата на тази книга ще бъде от практическо значение и за вас, въпреки че в някои случаи специфичните решения на проблемите могат малко да се различават .
Книгата е организирана в глави, в които се разглеждат специфични проблеми, свързани с PHP разработката. Всяка глава е разделена на параграфи, които обхващат най-често срещаните атаки, свързани с определена тема. Показано е как се организират атаките и как да защитите приложенията си от тях.
Глава 1, Въведение
Дава кратко описание на принципите и най-добрите установени практики в сигурността. Тази глава осигурява основата за останалата част от книгата.
Глава 2, Формуляри и URL
Обхваща обработката на формуляри и атаки като cross-site криптиране и cross-site фалшификати на заявки.
Глава 3, Бази данни и SQL
Съсредоточена е върху употребата на бази данни и атаки като SQL инжектиране.
Глава 4, Сесии и бисквитки (cookies)
Разисква PHP поддръжката на сесии и показва как да защитите приложенията си от атаки като фиксиране на сесии и открадване на сесия.
Глава 5, Допълнителни елементи на кода
Обхваща рисковете, асоциирани с употребата на допълнителни елементи на кода, като скрити URL адреси и добавяне на код.
Глава 6, Файлове и команди
Разглеждат се атаки като задаване на път до файл и добавяне на команди.
Глава 7, Автентификация и упълномощаване
Ще ви помогне да създадете сигурни механизми за автентикация и упълномощаване и да защитите приложенията си от атаки като атаката на грубата сила и атаки на повторенията.
Глава 8, Споделен хостинг
Обяснява рисковете, съпътстващи средата със споделен хостинг. Показано е как да избегнете публичното разкриване на сорс код и данни от сесии, както и по какъв начин да защитите приложенията си от атаки като добавяне на сесии.
Приложение А, Конфигурационни директиви
Осигурява кратък и концентриран списък от конфигурационни директиви, които заслужават специално внимание.
Приложение Б, Функции
Предлага кратък списък от функции, с които трябва да сте запознати.
Приложение В, Криптография
Фокусът тук е върху симетричния криптографски алгоритъм и това, как сигурно да съхранявате пароли, да криптирате данни в база данни или склад за съхранение на сесии.
Предисловие
Предговор
1. Въведение
Елементи на PHP
Правила
Установени практики
2. Формуляри и URL
Формуляри и данни
Семантични атаки на URL
Атаки при качване на файлове
Cross-site криптиране
Cross-site фалшификати на заявки
Лъжливи обработки на формуляри
Лъжливи HTTP заявки
3. Бази данни и SQL
Открита информация за достъп
SQL инжектиране
Разкрити данни
4. Сесии и бисквитки (Cookies)
Кражба на бисквитка
Открити данни от сесия
Фиксиране на сесии
Открадване на сесия
5. Допълнителни елементи на кода
Публично излагане на сорс код
Скрити URL адреси
Манипулация на файлови имена
Добавяне на код
6. Файлове и команди
Задаване на път до файл
Рискове, свързани с отдалечени файлове
Добавяне на команди
7. Автентификация и упълномощаване
Атака на грубата сила
Проследяване на паролата
Атаки на повторенията
Постоянни регистрации
8. Споделен хостинг
Публично разкриване на сорс код
Разкриване на данни от сесия
Добавяне на сесии
Разглеждане на файловата система
Защитен режим
Приложение А. Конфигурационни директиви
Приложение Б. Функции
Приложение В. Криптография
Индекс
Предговор
1. Въведение
Елементи на PHP
Правила
Установени практики
2. Формуляри и URL
Формуляри и данни
Семантични атаки на URL
Атаки при качване на файлове
Cross-site криптиране
Cross-site фалшификати на заявки
Лъжливи обработки на формуляри
Лъжливи HTTP заявки
3. Бази данни и SQL
Открита информация за достъп
SQL инжектиране
Разкрити данни
4. Сесии и бисквитки (Cookies)
Кражба на бисквитка
Открити данни от сесия
Фиксиране на сесии
Открадване на сесия
5. Допълнителни елементи на кода
Публично излагане на сорс код
Скрити URL адреси
Манипулация на файлови имена
Добавяне на код
6. Файлове и команди
Задаване на път до файл
Рискове, свързани с отдалечени файлове
Добавяне на команди
7. Автентификация и упълномощаване
Атака на грубата сила
Проследяване на паролата
Атаки на повторенията
Постоянни регистрации
8. Споделен хостинг
Публично разкриване на сорс код
Разкриване на данни от сесия
Добавяне на сесии
Разглеждане на файловата система
Защитен режим
Приложение А. Конфигурационни директиви
Приложение Б. Функции
Приложение В. Криптография
Индекс
Крис Шифлет е международно признат експерт в областта на PHP сигурността; освен това той е основател и президент на Brain Bulb – PHP консултантска фирма, която предлага набор от услуги на клиентите си от цял свят.
Крис е водеща фигура в PHP обществото. Той е основател на PHP Security Consortium, основател на PHPCommunity.org, член на Zend PHP Advisory Board и автор на Zend PHP Certification.
Крис води рубрики в PHP Magazine и php|architect, а също така е автор на книгата HTTP Developer’s Handbook (издателство Sams).
Крис е водеща фигура в PHP обществото. Той е основател на PHP Security Consortium, основател на PHPCommunity.org, член на Zend PHP Advisory Board и автор на Zend PHP Certification.
Крис води рубрики в PHP Magazine и php|architect, а също така е автор на книгата HTTP Developer’s Handbook (издателство Sams).