Обучение HTML, Excel, Word. Как сделать свой сайт бесплатно

Microsoft Office

Сайтостроение

HTML

Программинг

Компьютер

Графика

Разное

· Основы Word
· Основы Excel
· Основы VBA
· Основы OpenOffice
· Как сделать сайт
· Свой сайт от А до Я
· Оптимизация сайта
· Шаблоны для сайта
· Обзор CMS
· Основы HTML
· HTML-теги
· Основы CSS
· Основы PHP
· Основы JavaScript
· Софт для сайта
· Что внутри ПК
· ПК для чайников
· Все о BIOS
· Web-графика
· САПР: AutoCAD
· Статьи
· Форум
· SEO-новости
Главная страница Карта сайта
Учебник PHP
Основы SQL
  1. Введение
  2. Инструменты
  3. Первый шаг
  4. Структура языка
  5. Массивы
  6. Глобальные массивы
  7. Cookies
  8. Сессии
  9. Загрузка файлов
  10. Работа с файлами
  11. Работа с базами данных
  12. Работа в сети
  13. Отправка почты
  14. Безопасность
  15. Автоматизация
  16. Регулярные выражения в PHP
  17. Интеграция
 



Безопасность

Автор: Артемьев Сергей Игоревич
ICQ: 438856621
email: _spin_@bk.ru

Безопасность - один из ключевых моментов, на которые должен в первую очередь обращать внимание любой разработчик. Взлом сайтов - это абсолютно незаконное, но иногда очень прибыльное занятие, а лёгкие деньги привлекают как начинающих, так и опытных "специалистов".


Защиту сайта необходимо вести в двух направлениях: защита кода и защита данных.


Защита кода


Существует множество вариантов атак на сайты, но львиная доля взломов происходит из-за халатности администраторов и программистов. В образовательных целях рекомендую сходить на популярный сайт "Хакер.ру" и посмотреть несколько видеороликов о взломе.

Все наиболее популярные атаки можно разделить на три группы: атаки на сервер, атаки на интерпретатор и атаки на скрипт.

При атаках на сервер злоумышленники используют уязвимости в серверных программах (например, уязвимости веб-сервера или почтовых служб). Единственное средство защиты от таких атак - качественная работа администраторв сервера, отслеживание ими новостей о новых уязвимостях и своевременное обновление программного обеспечения. Разработчик сайта своими силами защититься от таких атак не может, т.к. не имеет достаточных прав.

Второй тип - атаки на интерпретатор, а в нашем случае - на интерпретатор PHP. Не некрет, что в любой программе есть "дырки", которыми может поспользоваться злоумышленник. Смысл атаки в том, чтобы подать на вход интерпретатору такую последовательность команд, исполнив которую он ошибочно предоставит злоумышленнику доступ к каким-либо ресурсам сервера. Такая ситауция называется "повышение привилегий". Защита от таких атак - своевременное обновление администраторами версии PHP и установка пакетов исправлений. Со своей стороны разработчик должен отслеживать появляющиеся уязвимости в функциях и соответствующим образом изменять скрипты.

Защита от третьего вида атак полностью лежит на плечах программиста. Как уже говорилось, большая часть взломов происходит из-за ошибок или недоработок в коде. Чтобы избежать основных ошибок, следуйте следующим простым правилам:

1. Никогда не доверяйте чужим данным, даже если они получены из надёжного, но всё-таки стороннего источника (например, с сайта партнёра или от зарегистрированного пользователя). Все данные должны быть в обязательном порядке перед использованием проверены на корректность.

2. Пользуйтесь готовыми библиотеками доступа к базам данных. Такие библиотеки обычно хорошо проверены на безопасность и постоянно совершенствуются хорошими специалистами. Вам достаточно лишь следить за обновлениями и поддерживать свои версии библиотек в актуальном состоянии.

3. Не доверяйте пользователям даже в мелочах. Исходите из постулата, что если есть возможность навредить, то найдётся человек, который навредит.

4. Старайтесь самостоятельно обрабатывать ошибки и никогда не показывайте подробности ошибок пользователям. Знание путей к файлам, имён библиотек, названий баз данных и таблиц сильно упростит задачу хакера.

5. Всегда старайтесь очищать используемые переменные. Одна не очищенная вовремя переменная может перечеркнуть все ваши усилия по защите. Это относится и к переменным классов. Если переменная используется только в одной функции - не надо делать её глобальной или представлять как отдельное свойство.

6. Старайтесь не хранить приватные данные на сервере, а если хранить всё-таки приходится - делайте это в базе данных в зашифрованном виде. Это сильно усложнит работу хакера, даже если он уже забрался на ваш сайт.

Специалисты хорошо знают аксиому: "если один человек смог создать защиту - найдется человек, который её взломает". Очевидно, что идеально защищённых скриптов и серверов не существует и работы по повышению безопасности должны вестить постоянно (по мере обнаружения новых дыр и багов).

Защита данных

Необходимость хранения приватных данных на сайте (например, базы клиентов), вынуждает разработчиков встраивать в сайт специальные системы защиты. Чаще всего используются два варианта: HTTP-аутентификация или парольная защита.

HTTP-аутентификация более надёжна, но менее удобна в администрировании. Кроме того, пользователь обычно не может самостоятельно зарегистрироваться - его должен зарегистрировать один из администраторов или модераторов сайта.

Парольная защита требует от программиста больше усилий по разработке и отладке, является менее надёжной, но при этом даёт больше возможностей пользователям по управлению своим аккаунтом.

На сайтах зачастую используются оба метода одновременно: парольную защиту устанавливают для обычных пользователей и HTTP-аутентификацию для входа в раздел администраторов.

Последовательность организации каждого из указанных методов мы рассмотрим в соответствующих уроках этого раздела.

 

top




 




Спасибо, что заглянули на сайт. Надеюсь, Вам понравилось. Заходите еще. Здесь всегда рады вам :)
При копировании материалов, размещенных на сайте, ссылка на первоисточник обязательна.
Если понравился этот сайт..

© 2005-2012
Юрий Кордык All Rights Reserved

 

E-mail:
admin@on-line-teaching.com