PHP глазами хакера

Для Web-программистов.

Фленов М. «PHP глазами хакера» БХВ-Петербург, 3-е издание, 2016 год, 253 стр., ISBN: 978-5-9775-0546-8; (36,2 мб. pdf + CD 54,2 кб.)

Книга посвящена вопросам безопасности и оптимизации сценариев на языке программирования РНР. Вы сможете научиться создавать быстрые и защищенные приложения. Описаны наиболее распространенные ошибки программистов, благодаря которым хакеры проникают на сервер, а также представлены методы и приведены практические рекомендации защиты от внешних атак. Представлены реальные примеры несанкционированного проникновения на Web-серверы.

В 3-м издании книги большое внимание уделено защите баз данных, шифрованию, рассказано о тесте CAPTCHA, а также о распространенных приемах «борьбы за пользователя» (переадресации, всплывающих окнах и др.). Для Web-программистов, администраторов и специалистов по безопасности.

Оглавление книги

Содержание.

Глава 1. Введение 13
1.1. Что такое РНР 13
1.2. Создание сайта в Apache 14
1.3. Как работает РНР? 16

Глава 2. Основы РНР 19
2.1. РНР-инструкции 19
2.2. Подключение файлов 23
2.3. Печать 27
2.4. Правила кодирования 29
2.4.1. Комментарии 29
2.4.2. Чувствительность 30
2.4.3. Переменные 32
2.4.4. Основные операции 35
2.4.5. Область видимости 37
2.4.6. Константы 38
2.5. Управление выполнением программы 39
2.6. Циклы 48
2.6.1. Цикл for 48
2.6.2. Цикл while 50
2.6.3. Бесконечные циклы 51
2.6.4. Управление циклами 51
2.7. Прерывание работы программы 53
2.8. Функции 54
2.9. Классы 58
2.10. Массивы 60
2.11. Обработка ошибок 62
2.12. Передача данных 64
2.12.1. Переменные окружения 64
2.12.2. Передача параметров 65
2.12.3. Метод GET 69
2.12.4. Метод POST 72
2.12.5. Уязвимость параметров 74
2.12.6. Скрытые параметры 76
2.13. Хранение параметров пользователя 77
2.13.1. Сеансы 79
2.13.2. Cookies 82
2.13.3. Безопасность cookie 87
2.14. Файлы 88
2.14.1. Открытие файла 89
2.14.2. Закрытие файла 90
2.14.3. Чтение данных 91
2.14.4. Дополнительные функции чтения 93
2.14.5. Запись данных 94
2.14.6. Позиционирование в файле 95
2.14.7. Свойства файлов 96

Глава 3. Безопасность 99
3.1. Комплексная защита 100
3.2. Права доступа 101
3.3. Как взламывают сценарии 102
3.4. Основы защиты сценариев 104
3.4.1. Реальный пример ошибки 105
3.4.2. Рекомендации по защите 108
3.4.3. Тюнинг РНР 110
Защищенный режим 110
Запреты 111
3.5. Проверка корректности данных 111
3.6. Регулярные выражения 116
3.6.1. Функции регулярных выражений РНР 117
Функция ereg() 117
Функция eregi() 117
Функция eregreplace() 117
Функция eregi_replace() 118
Функция split() 118
Функция spliti() 118
3.6.2. Использование регулярных выражений РНР 118
3.6.3. Использование регулярных выражений Perl 123
3.6.4. Функции регулярных выражений Perl 125
Функция pregmatch() 126
Функция preg_match_all() 126
Функция pregsplit() 127
3.6.5. Проверка e-mail 127
3.6.6. Советы по использованию регулярных выражений 128
3.7. Что и как фильтровать 128
3.8. Базы данных 131
3.8.1. Основы баз данных 132
3.8.2. Атака SQL Injection 133
3.8.3. Реальное экранирование 142
3.8.4. Параметризированные запросы 143
3.8.5. Работа с файлами 148
3.8.6. Практика работы с базами данных 148
3.8.7. Проверка URL 149
3.9. Работа с файлами 150
3.10. Криптография 151
3.10.1. Симметричное шифрование 152
3.10.2. Асимметричное шифрование 153
3.10.3. Необратимое шифрование 154
3.10.4. Практика использования шифрования 154
3.11. Атака Cross-Site Scripting 161
3.12. Флуд 162
3.12.1. Защита от флуда сообщениями 162
3.12.2. Защита от накрутки голосований 163
3.13. Защита от изменения формы 165
3.14. Сопровождение журнала 167
3.15. Защита от неправомерных изменений 169
3.16. Панель администратора 170
3.17. Опасная переменная $REQUEST_URI 171
3.18. САРТСНА 172

Глава 4. Оптимизация 179
4.1. Алгоритм 179
4.2. Слабые места 181
4.3. Базы данных 182
4.3.1. Оптимизация запросов 182
4.3.2. Оптимизация СУБД 187
4.3.3. Выборка необходимых данных 189
4.3.4. Изучайте систему 190
4.4. Оптимизация РНР 193
4.4.1. Кэширование вывода 193
4.4.2. Кэширование страниц 194
4.5. Оптимизация или безопасность? 196

Глава 5. Примеры работы с РНР 199
5.1. Загрузка файлов на сервер 199
5.2. Проверка корректности файла 204
5.3. Запретная зона 207
5.3.1. Аутентификация 207
5.3.2. Защита сценариев правами доступа сервера Apache 214
5.4. Работа с сетью 215
5.4.1. Работа с DNS 216
5.4.2. Протоколы 216
5.4.3. Сокеты 217
Инициализация 218
Серверные функции 218
Клиентские функции 219
Обмен данными 220
Управление сокетами 221
5.5. Сканер портов 222
5.6. FTP-клиент низкого уровня 225
5.7. Работа с электронной почтой 228
5.7.1. Протокол SMTP 228
5.7.2. Функция mail() 230
5.7.3. Соединение с SMTP-сервером 232
5.7.4. Безопасность электронной почтовой службы 233
5.7.5. Производительность отправки почты 233
5.8. Защита ссылок 235
5.9. РНР в руках хакера 236
5.10. Уловки 238
5.10.1. Переадресация 238
5.10.2. Всплывающие окна 240
5.10.3. Тег <iframe> 241
5.10.4. Стой, не уходи! 242
5.11. Универсальная защита 243
Заключение 245
Приложение. Описание электронного архива 247
Техническая литература 249
Предметный указатель 251

Скачать техническую литературу бесплатно36,2 мб. pdf+54,2 кб.CD

 

Похожая литература