Математика | ||||
РНР 5. Практика разработки Web-сайта-Кузнецов М. В БХВ-Петербург, 2005. - 960 с | ||||
Кузнецов М. В., Симдянов И. В., Голышев С. В.
РНР 5. Практика разработки Web-сайта. — СПб.: БХВ-Петербург, 2005. - 960 с.: ил. ISBN 5-94157-552-1 С помощью РНР 5 разрабатываются многочисленные компоненты, входящие в состав полнофункционального Web-сайта. Рассматриваются работа с СУБД MySQL, вопросы защиты Web-приложений, работа с графикой, Flash и PDF-документами. В качестве практических примеров разработаны такие приложения, как система администрирования контента сайта, форум, система сбора и анализа статистики посетителей сайта, система рассылки, FTP-менеджер, универсальный каталог продукции и др. Книга ориентирована на читателей, знакомых с языками HTML и РНР, но не имеющих большого опыта разработки динамических Web-приложений. Компакт-диск содержит исходные коды всех Web-приложений, разрабатываемых в книге и в сумме составляющих готовый полнофункциональный корпоративный Web-сайт. Оглавление Введение...........................................................................................................1 Для кого и о чем эта книга......................................................................................1 Как построена книга.................................................................................................2 Благодарности............................................................................................................3 ЧАСТЬ I. Основы РАЗРАБОТКИ ПРИЛОЖЕНИЙ НА РНР 5...............................5 Глава 1. Работа с Web-сервером Apache.............................................................7 1.1. Установка Web-сервера Apache 2.0.0................................................................7 1.1.1. Установка под Windows..............................................................................7 1.1.2. Управление Apache....................................................................................13 1.1Д Установка под Linux..................................................................................16 1.2. Конфигурирование Web-сервера Apache 2.0.0..............................................19 1.2.1. Базовая настройка Apache........................................................................19 1.2.2. Установка и настройка РНР 5..................................................................23 1.3. PHP.INI........."................:...................................................................................26 1.3.1. Настройки языка.......................................................................................26 1.3.2. Ограничение по ресурсам.........................................................................28 1.3.3. Обработка ошибок и журнализация........................................................28 1.3.4. Обработка данных.....................................................................................30 1.3.5. Пути и директории....................................................................................31 1.3.6. Загрузка файлов.........................................................................................32 1.3.7. Работа с сокетами......................................................................................32 1.3.8. Динамические расширения......................................................................33 1.3.9. Установки для модулей.............................................................................33 Глава 2. Работа с MySQL...............................................................................39 2.1. Установка и настройка MySQL......................................................................39 2.1.1. Установка MySQL на платформу Windows.............................................40 2.1.2. Установка MySQL на платформу Linux..................................................43 2.2. Оптимизация SQL-запросов...........................................................................44 2.2.1. Числовые данные.......................................................................................45 2.2.2. Строковые данные.....................................................................................46 2.2.3. Календарные данные.................................................................................48 2.2.4. Выбор типа данных...................................................................................48 2.2.5. Таблицы MySQL........................................................................................49 2.2.6. Структурированный язык запросов (SQL).............................................50 2.2.7. Индексирование.............:.'.........................................................................77 2.2.8. Общие вопросы оптимизации..................................................................80 2.3. Оптимизация кода РНР при работе с MySQL..............................................81 2.3.1. РНР и MySQL............................................................................................81 2.3.2. Приемы работы с MySQL.........................................................................92 2.4. Работа с phpMyAdmin.....................................................................................108 2.4.1. Инсталляция phpMyAdmin......................................................................109 2.4.2. Конфигурирование phpMyAdmin...........................................................115 2.4.3. Использование phpMyAdmin..................................................................124 2.4.4. Экспорт баз данных.................................................................................131 2.4.5. Работа с пользователями и привилегиями............................................135 2.4.6. Работа с таблицами..................................................................................140 Глава 3. Заголовки HTTP и работа с ними......................................................143 3.1. Функции РНР для работы с HTTP-заголовками.........................................143 3.2. Управление кэшированием............................................................................147 3.2.1. Функции session_cache_limiter и session_cache_expire..............................150 3.3. Примеры HTTP-заголовков...........................................................................152 3.3.1. Заголовок Accept........................................................................................152 3.3.2. Заголовок Accept-Charset...........................................................................153 3.3.3. Заголовок Accept-Language.......................................................................153 3.3.4. Заголовок Allow.........................................................................................154 3.3.5. Заголовок Connection.................................................................................154 3.3.6. Заголовок Date..........................................................................................154 3.3.7. Заголовок Expires......................................................................................154 3.3.8. Заголовок From..........................................................................................154 3.3.9. Заголовок Last-Modified............................................................................155 3.3.10. Заголовок Location..................................................................................155 3.3.11. Заголовок Referer.....................................................................................155 3.4. Практический пример: HTTP-аутентификация средствами РНР.'............155 3.5. Практический пример: получение документа по HTTP-протоколу..........156 Глава 4. "Хитрости" РНР...............................................................................158 4.1. РНР и JavaScript..............................................................................................158 4.1.1. Передача переменных из JavaScript в РНР............................................158 4.2. Как проверить, включены ли cookies?..........................................................160 4.3. О профилировании кода................................................................................162 4.4. Получение информации об IP-адресах и доменах......................................164 4.5. Часто используемые регулярные выражения...............................................168 4.6. Генератор паролей...........................................................................................170 4.7. Подсветка кода с помощью стандартной функции РНР............................170 48. Подсветка синтаксиса РНР (собственная функция)...................................171 4.9. Загрузка файлов на сервер.............................................................................176 4.10. Счетчик загрузки файлов с сервера.........................,..................................181 4.11. Предотвращение загрузки страниц.............................................................202 4.11.1. Определение размера загружаемого файла..........................................207 4.11.2. РНР и CSS: динамическое оформление содержания сайта...............208 4.11.3. Динамическая оптимизация страниц...................................................210 4.11.4. Дата последнего обновления страницы...............................................212 4.11.5. Автоматическое распознавание ссылок...............................................212 Глава 5. Безопасность создаваемых приложений.............................................215 5.1. Проверка корректности данных, вводимых пользователем.......................215 5.1.1. Проверка заполнения обязательного поля............................................216 5.1.2. Проверка допустимости вводимых данных...........................................217 5.1.3. Удаление HTML-тегов и обратных слэшей...........................................218 5.2. Публикация изображений и файлов.............................................................220 5.3. Методы шифрования......................................................................................224 5.3.1. Однонаправленное шифрование.............................................................224 5.3.2. Симметричное шифрование....................................................................226 5.4. Проблемы безопасности, связанные с cookie..............................................227 5.4.1. Установка области видимости cookie.....................................................228 5.4.2. Шифрование cookie..................................................................................229 5.5. Безопасная установка РНР.............................................................................230 5.6. Безопасная настройка РНР............................................................................233 5.6.1. Параметр display_errors.............................................................................233 5.6.2. Параметр error_reporting............................................................................233 5.6.3. Параметр \ariables_order...........................................................................233 5.6.4. Параметр openjbasedir..............................................................................234 5.6.5. Параметр disable_flinctions........................................................................234 5.6.6. Параметр allo\v_url_fopen..........................................................................234 5.6.7. Параметр register_globals...........................................................................235 5.7. Безопасная установка MySQL.......................................................................236 ЧАСТЬ П. РАЗРАБОТКА СИСТЕМЫ АДМИНИСТРИРОВАНИЯ САЙТА..................241 Глава 6. Проектирование...............................................................................243 Глава 7. Система администрирования контента...............................................249 7.1. Описание системы CMS.................................................................................251 7.1.1. Требования к системе администрирования контента (CMS)..............251 7.1.2. Терминология...........................................................................................251 7.1.3. Структура и элементы статьи..................................................................252 7.2. Работа с системой администрирования CMS..............................................254 7.2.1. Управление разделами статей...............,...„............................................254 7.2.2. Управление метаданными статьи............................................................257 7.2.3. Редактирование статьи.............................................................................259 7.3. Разработка системы.........................................................................................266 Глава 8. Универсальный каталог продукции....................................................333 8.1. Работа с каталогом в режиме пользователя.................................................335 8.2. Работа с каталогом в режиме администратора............................................336 8.3. Разработка каталога "Риэлторские услуги"...................................................341 8.4. Импорт прайс-листа.......................................................................................377 8.4.1. Совершенствование системы администрирования...............................378 8.5. Поиск по каталогу...........................................................................................384 Глава 9. Система полнотекстового поиска по сайту.........................................394 9.1. Полнотекстовый поиск в СУБД MySQL......................................................394 9.2. Полнотекстовый поиск в системе CMS.......................................................396 Глава 10. Блок "Контакты"............................................................................403 10.1. Система представления информации..........................................................404 10.2. Система администрирования.......................................................................405 10.3. Разработка системы администрирования...................................................410 Глава 11. Блоки "Голосование" и "Гостевая книга".........................................430 11.1. Система голосования....................................................................................430 11.2. Система администрирования.......................................................................432 11.3. Разработка системы голосования................................................................437 11.4. Система представления.................................................................................453 11.5. Гостевая книга...............................................................................................459 Глава 12. Фотогалерея...................................................................................481 12.1. Описание фотогалереи...................................................................................481 12.1.1. Система администрирования................................................................483 12.2. Разработка фотогалереи................................................................................486 Глава 13. Система отправки сообщений с сайта..............................................511 13.1. Введение в работу электронной почты.......................................................511 13.1.1. Почтовые агенты....................................................................................512 13.1.2. Протоколы SMTP, POP и IMAP...........................................................514 13.1.3. Структура сообщения электронной почты..........................................519 13.2. Отправка простых сообщений.....................................................................522 13.2.1. Функция mail для отправки сообщений электронной почты............522 13.2.2. Функция для работы с удаленным SMTP-сервером...........................529 13.3. Отправка сообщений с вложениями...........................................................532 13.3.1. Типы данных (поля заголовка Content-Type).......................................533 13.3.2. Способ представления данных (поля заголовка Content-Transfer-Encoding)......................................................535 13.3.3. Заголовок Content-Disposition..................................................................536 13.3.4. Класс, реализующий пересылку вложенных файлов.........................536 Глава 14. Система анализа посещаемости сайта..............................................543 14.1. Описание системы PowerCounter................................................................543 14.2. Разработка системы PowerCounter..............................................................556 ЧАСТЬ!!!. РАЗРАБОТКА ДОПОЛНИТЕЛЬНЫХ WEB-СЛУЖБ.............................617 Глава 15. Система мониторинга позиций сайта в поисковых системах..............619 15.1. Описание системы.........................................................................................620 15.2. Разработка системы мониторинга...............................................................622 Глава 16. FTP-менеджер................................................................................633 Глава 17. Почтовая служба............................................................................661 17.1. Создание базы данных..................................................................................662 17.2. Архитектура приложения..............................................................................664 17.2.1. Создание учетных записей....................................................................669 17.2.2. Просмотр почтового ящика и чтение сообщений...................:..........672 17.2.3. Отправка сообщений..............................................................................677 Глава 18. Система рассылки писем.................................................................678 18.1. Разработка системы администрирования...................................................678 18.2. Разработка системы представления.............................................................701 ЧАСТЬ IV. ПРОФЕССИОНАЛЬНЫЙ ФОРУМ НА РНР 5...................................711 Глава 19. Проектирование..............................................................................713 19.1. Проектирование базы данных......................................................................714 Глава 20. Создание базового "движка"............................................................723 20.1. Описание форума..........................................................................................723 20.2. Разработка форума........................................................................................730 20.3. Дизайн форума..............................................................................................787 Глава 21. Создание системы администрирования.............................................809 21.1. Описание системы администрирования.....................................................809 21.1.1. Страница администрирования форума................................................809 21.1.2. Страница Разделы форума......................................................................811 21.1.3. Страница Модерирование форума...........................................................812 21.1.4. Страница Статистика форума.............................................................813 21.1.5. Страница Посетители форума...............................................................813 21.1.6. Страница Настройки форума...........................................~....................815 Цена: 300руб. |
||||