Как защитить сайт от SQL-инъекций

Тема в разделе "Защита от хакерских атак", создана пользователем ddos_info, 26 июн 2014.

  1. С каждым годом пользователей «всемирной паутины» становится всё больше, поэтому редкие компании сегодня отказываются от возможности создания собственного виртуального представительства в сети Интернет и его раскрутки. При этом многие незаслуженно забывают о том, что необходимо должным образом позаботиться о безопасности сайта. А ведь без этого пункта даже весьма эффектный и популярный сайт может в один момент оказаться неэффективным, а его владелец и его клиенты столкнутся с серьезными проблемами.

    Первостепенное значение в данном случае имеет защищенность баз данных, с которыми работает ваш сайт. Часто в них хранится важная с точки зрения бизнеса информация, которая не должна быть доступной конкурентам. В некоторых случаях речь и вовсе идет о личных данных клиентов, включая номера банковских карт. Даже если доступ к этой информации ограничен, это вовсе не значит, что её не смогут завладеть злоумышленники. Если, конечно, не предпринять дополнительных мер для её сохранности.

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




    Подобные запросы «с сюрпризом» можно ввести в общедоступные поля, предназначенные для регистрации пользователя или его входа на сайт, форма для заказа товара или оформления подписки т.п. Впрочем, иногда для SQL-инъекций используют и адресную строку. Всё зависит от того, насколько грамотно организована защита.

    Существует ряд несложных методик для организации защиты от SQL-инъекции.

    Во-первых, необходимо позаботиться о том, чтобы в доступные всем пользователям формы нельзя было ввести посторонние символы, позволяющие получить доступ к базе. Сделать это можно при помощи запрета ряда символов типа «“», «,» и др и ограничения общего их количества. Так, к примеру, функция mysql_real_escape_string() нейтрализует их, заключая в слеши.

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

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

    В заключение стоит отметить, что вышеперечисленные методы являются лишь базовыми и на 100% обеспечить устойчивость ресурса перед умелыми взломщиками не смогут, хотя почти наверняка спасут от дилетантов. Защита баз данных сайта серьезного сайта предусматривает куда более внушительный комплекс мероприятий, позволяющих повысить его устойчивость к SQL-инъекциям и атакам другого рода. Именно поэтому подобную работу лучше доверять профессионалам.
     
    Последнее редактирование: 26 июн 2014
    26 июн 2014

Поделиться этой страницей