PHP глазами хакера (+ CD-ROM)
Михаил Фленов
Рассмотрены вопросы безопасности и оптимизации сценариев на языке РНР. Описаны типичные ошибки программистов, благодаря которым хакеры проникают на сервер, а также представлены методы и приведены практические рекомендации противостояния внешним атакам. Показаны реальные примеры взлома Web-серверов. Во 2-м издании книги большое внимание уделено защите баз данных, шифрованию, рассказано о тесте САРТСНА, а также о распространенных приемах «борьбы за пользователя» (переадресации, всплывающих окнах и др.).
Компакт-диск содержит исходные тексты примеров, рассмотренных в книге, а также полезные программы и утилиты.
Для Web-программистов, администраторов и специалистов по безопасности.
Издательство: БХВ-Петербург, 2-е издание, 2011 г.
ISBN 978-5-9775-0546-8
Количество страниц: 336.
Содержание книги «PHP глазами хакера (+ CD-ROM)»:
- 1 Предисловие
- 3 Благодарности
- 4 Как устроена эта книга
- 7 Глава 1. Введение
- 8 1.1. Кто такие хакеры?
- 11 1.2. Как стать хакером?
- 17 1.3. Что такое PHP?
- 19 1.4. Как работает PHP?
- 21 1.5. Серверные и клиентские технологии
- 22 1.6. Установка PHP
- 25 Глава 2. Основы PHP
- 26 2.1. PHP-инструкции
- 30 2.2. Подключение файлов
- 36 2.3. Печать
- 37 2.4. Правила кодирования
- 38 2.4.1. Комментарии
- 39 2.4.2. Чувствительность
- 41 2.4.3. Переменные
- 45 2.4.4. Основные операции
- 46 2.4.5. Область видимости
- 48 2.4.6. Константы
- 49 2.5. Управление выполнением программы
- 60 2.6. Циклы
- 60 2.6.1. Цикл for
- 62 2.6.2. Цикл while
- 63 2.6.3. Бесконечные циклы
- 64 2.6.4. Управление циклами
- 66 2.7. Прерывание работы программы
- 67 2.8. Функции
- 72 2.9. Основные функции работы со строками
- 72 2.9.1. Функция substr
- 73 2.9.2. Функция strlen
- 74 2.9.3. Функция strpos
- 75 2.9.4. Функция preg_replace
- 76 2.9.5. Функция trim
- 76 2.10. Массивы
- 79 2.11. Обработка ошибок
- 80 2.12. Передача данных
- 80 2.12.1. Переменные окружения
- 81 2.12.2. Передача параметров
- 84 2.12.3. Метод GET
- 87 2.12.4. Метод POST
- 90 2.12.5. Уязвимость параметров
- 92 2.12.6. Скрытые параметры
- 93 2.13. Хранение параметров пользователя
- 94 2.13.1. Сеансы
- 99 2.13.2. Cookie
- 105 2.13.3. Безопасность cookie
- 106 2.14. Файлы
- 106 2.14.1. Открытие файла
- 108 2.14.2. Закрытие файла
- 108 2.14.3. Чтение данных
- 111 2.14.4. Дополнительные функции чтения
- 112 2.14.5. Запись данных
- 113 2.14.6. Позиционирование в файле
- 114 2.14.7. Свойства файлов
- 116 2.14.8. Управление файлами
- 118 2.14.9. Управление каталогами
- 119 2.14.10. Чтение каталогов
- 123 Глава 3. Безопасность
- 124 3.1. Комплексная защита
- 130 3.2. Права доступа
- 131 3.2.1. Права сценариев в системе
- 131 3.2.2. Права сервера баз данных
- 133 3.2.3. Права на удаленное подключение
- 134 3.2.4. Права файлов сценариев
- 136 3.2.5. Сложные пароли
- 137 3.2.6. Поисковые системы
- 139 3.3. Как взламывают сценарии
- 144 3.4. Основы защиты сценариев
- 144 3.4.1. Реальный пример ошибки
- 149 3.4.2. Рекомендации по защите
- 151 3.4.3. Тюнинг PHP
- 151 Защищенный режим
- 152 Запреты
- 152 3.5. Проверка корректности данных
- 159 3.6. Регулярные выражения
- 159 3.6.1. Функции регулярных выражений PHP
- 159 Функция ereg
- 160 Функция eregi
- 160 Функция ereg_replace
- 160 Функция eregi_replace
- 160 Функция split
- 161 Функция spliti
- 161 3.6.2. Использование регулярных выражений PHP
- 166 3.6.3. Использование регулярных выражений Perl
- 168 3.6.4. Функции регулярных выражений Perl
- 169 Функция preg_match
- 169 Функция preg_match_all
- 170 Функция preg_split
- 170 3.6.5. Резюме
- 159 3.6.1. Функции регулярных выражений PHP
- 171 3.7. Что и как фильтровать
- 174 3.8. Базы данных
- 174 3.8.1. Основы баз данных
- 176 3.8.2. Атака SQL Injection
- 186 3.8.3. Реальное экранирование
- 187 3.8.4. Работа с файлами
- 187 3.8.5. Практика работы с базами данных
- 189 3.8.6. Проверка URL
- 190 3.9. Работа с файлами
- 191 3.10. Криптография
- 192 3.10.1. Симметричное шифрование
- 194 3.10.2. Асимметричное шифрование
- 194 3.10.3. Необратимое шифрование
- 195 3.10.4. Практика использования шифрования
- 202 3.11. Атака Cross-Site Scripting
- 203 3.12. Флуд
- 204 3.12.1. Защита от флуда сообщениями
- 204 3.12.2. Защита от накрутки голосований
- 207 3.13. Защита от изменения формы
- 208 3.14. Сопровождение журнала
- 210 3.15. Защита от неправомерных изменений
- 210 3.16. Панель администратора
- 212 3.17. Опасная переменная $REQUEST_URI
- 212 3.18. CAPTCHA
- 219 Глава 4. Оптимизация
- 220 4.1. Алгоритм
- 221 4.2. Слабые места
- 222 4.3. Базы данных
- 223 4.3.1. Оптимизация запросов
- 228 4.3.2. Оптимизация СУБД
- 230 4.3.3. Выборка необходимых данных
- 232 4.3.4. Изучайте систему
- 234 4.3.5. Оптимизация сервера
- 235 4.4. Оптимизация PHP
- 235 4.4.1. Кэширование вывода
- 236 4.4.2. Кэширование страниц
- 239 4.4.3. Быстрые функции
- 241 4.5. Оптимизация vs. Безопасность
- 245 Глава 5. Примеры работы с PHP
- 245 5.1. Загрузка файлов на сервер
- 250 5.2. Проверка корректности файла
- 253 5.3. Запретная зона
- 253 5.3.1. Аутентификация
- 261 5.3.2. Защита сценариев правами доступа сервера Apache
- 262 5.3.3. Самостоятельная система аутентификации
- 271 5.3.4. Регистрация
- 276 5.3.5. Сложность паролей
- 278 5.3.6. Защита соединения
- 278 5.4. Авторизация
- 280 5.5. Работа с сетью
- 280 5.5.1. Работа с DNS
- 281 5.5.2. Протоколы
- 282 5.5.3. Сокеты
- 282 Инициализация
- 283 Серверные функции
- 284 Клиентские функции
- 285 Обмен данными
- 286 Управление сокетами
- 287 5.6. Сканер портов
- 290 5.7. FTP-клиент низкого уровня
- 294 5.8. Утилита ping
- 297 5.9. Работа с электронной почтой
- 298 5.9.1. Протокол SMTP
- 300 5.9.2. Функция mail
- 302 5.9.3. Соединение с SMTP-сервером
- 303 5.9.4. Безопасность электронной почтовой службы
- 303 5.10. Защита ссылок
- 304 5.11. PHP в руках хакера
- 307 5.12. Уловки
- 307 5.12.1. Переадресация
- 309 5.12.2. Всплывающие окна
- 311 5.12.3. Тег <iframe>
- 312 5.12.4. Стой, не уходи
- 313 5.13. Универсальная защита
- 315 Заключение
- 317 ПРИЛОЖЕНИЯ
- 319 Приложение 1. Основы языка SQL
- 319 Выборка данных
- 323 Манипуляции данными
- 325 Приложение 2. Описание компакт-диска
- 319 Приложение 1. Основы языка SQL
- 326 Список литературы
- 327 Предметный указатель
Инструкция как скачать книгу Михаил Фленов: PHP глазами хакера (+ CD-ROM) в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.