![]() |
|
||||||||||||||
|
|
|
Все наиболее популярные атаки можно разделить на три группы: атаки на сервер, атаки на интерпретатор и атаки на скрипт. При атаках на сервер злоумышленники используют уязвимости в серверных программах (например, уязвимости веб-сервера или почтовых служб). Единственное средство защиты от таких атак - качественная работа администраторв сервера, отслеживание ими новостей о новых уязвимостях и своевременное обновление программного обеспечения. Разработчик сайта своими силами защититься от таких атак не может, т.к. не имеет достаточных прав. Второй тип - атаки на интерпретатор, а в нашем случае - на интерпретатор PHP. Не некрет, что в любой программе есть "дырки", которыми может поспользоваться злоумышленник. Смысл атаки в том, чтобы подать на вход интерпретатору такую последовательность команд, исполнив которую он ошибочно предоставит злоумышленнику доступ к каким-либо ресурсам сервера. Такая ситауция называется "повышение привилегий". Защита от таких атак - своевременное обновление администраторами версии PHP и установка пакетов исправлений. Со своей стороны разработчик должен отслеживать появляющиеся уязвимости в функциях и соответствующим образом изменять скрипты. Защита от третьего вида атак полностью лежит на плечах программиста. Как уже говорилось, большая часть взломов происходит из-за ошибок или недоработок в коде. Чтобы избежать основных ошибок, следуйте следующим простым правилам: 1. Никогда не доверяйте чужим данным, даже если они получены из надёжного, но всё-таки стороннего источника (например, с сайта партнёра или от зарегистрированного пользователя). Все данные должны быть в обязательном порядке перед использованием проверены на корректность. 2. Пользуйтесь готовыми библиотеками доступа к базам данных. Такие библиотеки обычно хорошо проверены на безопасность и постоянно совершенствуются хорошими специалистами. Вам достаточно лишь следить за обновлениями и поддерживать свои версии библиотек в актуальном состоянии. 3. Не доверяйте пользователям даже в мелочах. Исходите из постулата, что если есть возможность навредить, то найдётся человек, который навредит. 4. Старайтесь самостоятельно обрабатывать ошибки и никогда не показывайте подробности ошибок пользователям. Знание путей к файлам, имён библиотек, названий баз данных и таблиц сильно упростит задачу хакера. 5. Всегда старайтесь очищать используемые переменные. Одна не очищенная вовремя переменная может перечеркнуть все ваши усилия по защите. Это относится и к переменным классов. Если переменная используется только в одной функции - не надо делать её глобальной или представлять как отдельное свойство. 6. Старайтесь не хранить приватные данные на сервере, а если хранить всё-таки приходится - делайте это в базе данных в зашифрованном виде. Это сильно усложнит работу хакера, даже если он уже забрался на ваш сайт. Специалисты хорошо знают аксиому: "если один человек смог создать защиту - найдется человек, который её взломает". Очевидно, что идеально защищённых скриптов и серверов не существует и работы по повышению безопасности должны вестить постоянно (по мере обнаружения новых дыр и багов). Защита данных Необходимость хранения приватных данных на сайте (например, базы клиентов), вынуждает разработчиков встраивать в сайт специальные системы защиты. Чаще всего используются два варианта: HTTP-аутентификация или парольная защита. HTTP-аутентификация более надёжна, но менее удобна в администрировании. Кроме того, пользователь обычно не может самостоятельно зарегистрироваться - его должен зарегистрировать один из администраторов или модераторов сайта. Парольная защита требует от программиста больше усилий по разработке и отладке, является менее надёжной, но при этом даёт больше возможностей пользователям по управлению своим аккаунтом. На сайтах зачастую используются оба метода одновременно: парольную защиту устанавливают для обычных пользователей и HTTP-аутентификацию для входа в раздел администраторов. Последовательность организации каждого из указанных методов мы рассмотрим в соответствующих уроках этого раздела.
|
|
|
Спасибо, что заглянули на сайт. Надеюсь, Вам понравилось. Заходите еще. Здесь всегда рады вам :) |
|
© 2005-2012 |
E-mail: |