Рассмотрены вопросы безопасности и оптимизации сценариев на языке PHP. Большое внимание уделено описанию типичных ошибок программистов, благодаря которым хакеры проникают на сервер, а также представлены методы и приведены практические рекомендации противостояния внешним атакам. Показаны реальные примеры взлома Web-серверов. На компакт-диске приведены исходные тексты примеров, рассмотренных в книге, а также полезные программы и утилиты.
Данная книга посвящена рассмотрению одного из популярнейших языков программирования WEB страниц – PHP. С ее помощью вы сможете научиться программировать собственные сайты и делать их эффективными и защищенными.
Чем она отличается от других? Большинство авторов при написании книги ставят цель научить программировать и только в конце книги обращают внимание на оптимизацию и безопасность. Но это неправильно, потому что если человека научить программировать неэффективно, то с помощью пары глав переучить будет сложно. Привычки тяжело искоренить, а как говорил один из моих преподавателей в институте – «Неправильно заученный материал – хуже незнания». Когда вы неверно заучили материал, то будете действовать неверно, потому что считаете, что ваше решение является правильным. Если вы не знаете совсем, то можете спросить вариант решения или списать и в этом случае узнаете правильный выход из сложившейся ситуации.
В данном случае ошибки программы будут намного полезнее, потому что когда вы ищите природу ошибки, то лучше разбираетесь с поставленным вопросом и можете найти правильное решение. Но если написали код безошибочно, но неэффективно, то это уже может привести к фатальному исходу.
Данная книга освещает язык программирования PHP, начиная с самых основ, и одновременно рассматриваются аспекты безопасности и оптимизации работы сценариев. Таким образом, вы с самого начала будете учиться создавать быстрые и защищенные приложения.
Почему книга называется «Программирование на PHP глазами хакера»? Что это за глаза? Это простые человеческие глаза, потому что хакеры тоже люди. Главное отличие состоит в том, как создаются программы. Если вы создали код, который выполняет поставленные задачи, то вы программист. Но если ваш код работает лучше, быстрее и надежнее, а главное безопаснее для сервера, то вы хакер. Искусство хакера заключается в том, чтобы сделать код лучшим.
Несмотря на то, что мы будем рассматривать безопасность и оптимизацию в течение всего периода изучения языка PHP, я не могу сказать, что вы получите исчерпывающие данные. Очень многое может оказаться за пределами книги, потому что нельзя увидеть все и нельзя выработать абсолютно эффективные и универсальные алгоритмы на все случаи жизни. Универсальность очень часто несовместима с понятиями эффективности и безопасности. Мы же постараемся научиться мыслить так, чтобы создаваемые нами программы выполнялись наиболее эффективно.
Взломщики очень часто используют на взломанных системах собственные или сторонние сценарии на языке Perl для повышения привилегий или выполнения определенных действий. В связи с этим, некоторые компании отказываются от использования Perl на своих серверах и администраторы все меньше устанавливают его. Это позволяет в какой-то степени повысить безопасность, но профессионального взломщика такими действиями не остановишь.
В данной книге мы рассмотрим, как взломщики могут писать собственные сценарии для взлома серверов. Нет, я не буду писать что-то из серии автоматических взломщиков, дабы меня не обвинили в том, что теперь количество хакеров увеличится в разы. Проблема в том, что средства, которые могут использовать администраторы для защиты, могут использоваться взломщиком для скрытия защиты. Точно также можно сказать и о том, что средства взлома могут быть использованы для тестирования безопасности, и для защиты.
Я позиционирую книгу, как средство повышения безопасности и я надеюсь, что именно с этой целью вы будете применять свои знания. Даже простой нож может служить средством нарезки продуктов, а может и использоваться как оружие. Хочется надеяться, что вы используете все по назначению, в том числе и знания.
В наше время именно знания становятся самым опасным оружием. Именно поэтому я буду делать больший акцент на безопасность и особо важные моменты буду умалчивать, дабы не подтолкнуть любопытных молодых людей к нарушению закона. Конечно же, одной этой книги не достаточно для взлома сервера, потому что нужны намного большие знания, в том числе и ОС.
Рассматривая примеры того, как хакер может взломать сценарии, написанные на языке PHP, в основном мы будем подразумевать, что сервер работает под управлением ОС Unix или одного из его клонов, например Linux. Дело в том, что основная часть WEB сайтов с сценариями PHP работает под управлением именно этих операционных систем, а ОС Windows больше используется совместно с технологиями Microsoft, например ASP. Поэтому для лучшего понимания материала вам необходимо иметь хотя бы поверхностное представление о какой-нибудь ОС семейства Unix. А если вы знаете основы безопасности этой системы, то наш разговор будет более продуктивным. Для этого я рекомендую вам прочитать книгу Linux глазами хакера [1].
Предисловие
Глава 1. Введение
Глава 2. Основы PHP
Глава 3. Безопасность
Глава 4. Оптимизация
Глава 5. Примеры работы с PHP
Заключение
Приложение 1. Основы языка SQL
Приложение 2. Описание компакт-диска
Классная книжка. Я ее перепечатывал на принтере и на работе читал, когда было время. Сейчас узнал что у тебя есть блог и ты такой простой и интересный человек. Я тоже работаю с пхп и очень люблю этот язык.
Классная книга! Уже 4 издание вышло.
Чем-то отличается 4 от 3 издания?
Из описания следует, рассматривается PHP 7.0, но уже давно 8.0 установлена на многих серверах.
Насчет диска: при "купить как pdf", о диске нет речи. Не хотелось бы твердую копию из-за диска.
4-е издание уже относительно старое и действительно пора обновить с учетом PHP 8. Не знаю, буду ли я еще обновлять книгу, но если буду, то обязательно уже с учетом php 8
Здраствуйте, Михаил. Вопрос актуален, будет ли в ближайшие месяцы обновление книги «php глазами хакера» с новой верстей php 8? Просто хочу взять и прочесть книгу, и не знаю стоит ли брать 4-ое издание)
Пока нет планов
Добрый день. Вопрос до меня уже задавался, но остался без ответа. Ни где на сайте не могу найти архив с кодами, хотя в книге об этом прямо сказано.
У этой книги диск был только у старого издания, но там на нем ничего особого и не было.
Михаил добрый вечер хотел спросить для веб программирования надо ли изучать php,css,Java? еще хотел спросить будут ли выходить книги наподобие библий делфи плюсы еще какие нибудь языки? и последний вопрос можно ли на java писать под андроид? хочу как нибудь сам реанимировать свой кирпич =) за ранее благодарю! смотрю ваш ютуб канал мне нравится что вы делаете,продолжайте в том же духе
Здравствуйте Уважаемый Михаил Фленов. (3.4.1 Реальный пример ошибки ) Вы скрыли адрес сайта. Но на рисунке (3.1 Результат просмотра файла паролей. В заголовке отображается информация об операционной системе сервера ) Засвечивается адрес сайта [altruistic.ru].