Разработка сайта
Безопасность веб-сайтов
Язык программирования PHP позволяет мгновенно обмениваться информацией с базами данных MySQL и создавать такую структуру страниц, которые проще и удобнее оформлять и редактировать.
Безопасность сайта это одно из приоритетных направлений в интернете на данное время. С этим связано то, что при потере управления площадкой администратор лишается не только материалов, размещенных на ней, но и своих клиентов тоже. Час простоя или неактивности интернет-ресурса составляет огромные потери для бизнеса, тем более если этот бизнес ведется в интернете.
На данным момент многие веб-мастера составляют свои проекты на популярных CMS (Content Management System - Система Управления Контентом), полагаясь на знания разработчиков в сфере защиты сайта. Но это не всегда так. Очень часто большие и громоздкие CMS рушились и взламывались из-за одной маленькой ошибки в коде. Например, форумный движок phpBB даже после апдейтов оставляет желать лучшего - цепкие взломщики находят любые дырки в этой системе. Но, конечно, самый наглядный пример это взломы компании Sony. Большинство сайтов Sony были взломаны благодаря не закрытым вовремя SQL-инъекциям (тип атаки на SQL-сервер, когда пользователь может вмешиваться в структуру SQL-запроса и видоизменять его). Конечно можно привести еще очень много примеров, но суть не в этом, а в том, что даже популярные и сложные движки могут быть взломаны!
С этой точки зрения самым безопасным сайтом является тот, что написан на чистом HTML. Этот тип не позволяет пользователю хоть как-либо взаимодействовать с программным кодом, по причине его отсутствия. Но такой тип размещения информации подходит только для небольших статичных проектов на 5-15 страниц. В противном случае, даже при написании большего количества страниц HTML в последствии могут возникнуть проблемы с обновлением сайта или сменой информации и т.п.
Поэтому сегодня самым популярным методом объединения информации является написание сайта на PHP и MySQL. Язык программирования PHP позволяет мгновенно обмениваться информацией с базами данных MySQL и создавать такую структуру страниц, которые проще и удобнее оформлять и редактировать. Неопытные веб-мастера для этих целей пользуются популярными движками, вроде drupal, wordpress или joomla, но стоит заметить, что во всех этих и других подобных CMS функционала более чем достаточно. Большинству веб-проектов просто не нужна та функциональнось, которую они предлагают. Да и как я уже писал выше, не всегда они являются безопасными.
Чтобы самому написать безопасную систему управления контентом требуются довольно уверенные знания в веб-программировании, методах обхода защиты и уязвимостях в программных функциях. Работая с PHP вы вскоре поймете, что есть ряд определенных правил, выполнение которых позволит вам всегда быть уверенным в защищенности своего сайта. К сожалению, рамках данной статьи не представляется возможным охватить весь материал и рассказать про все методы защиты сайта.
Самое главное правило гласит: никогда не доверяйте своим пользователям! Это довольно просто. Проверяйте все данные, которые поступают от пользователя, на наличие непредусмотренных для нормальной работы вашей системы символов. Ограничивайте своих пользователей в вводе не нужной для них информации в поля HTML-форм, а также фильтруйте эту информацию перед каждым взаимодействием с базой данных на предмет одиночной или парной кавычки. Именно внедренее кавычек способно нарушить структуру SQL-запроса и привести к непредсказуемым последствиям. Также особое внимание следует уделить настройке веб-сервера. Сервер UNIX конфигурируется с помощью файла .htaccess, который размещяется в корне и содержит необходимые правила для обработки информации по запросам.
Более подробно про методы защиты от SQL-инъекции можно почитать на securityscripts.ru. На этом сайте вы также найдете подробное описание настроек UNIX сервера для обеспечение лучшей безопасности.
Дата публикации: 2011-11-09
Прочитано: 1193 раз