Главная
 

Немного о контроле данных

Дата публикации: 
Втр, 2011-09-20 18:02

Контроль ввода данных, поступающих на сайт можно разделить на 2 вида: контроль на стороне сервера и контроль на стороне клиента.
Контроль данных на стороне клиента нужен для того, чтобы сделать визуальное оформление, в случае неверно введенных данных (выделить красным; указать, что длина текста превышена и т.д.). Он не дает больших преимуществ в безопасности сайта, а лишь может обезопасить пользователя от ввода некорректных данных. Злоумышленник же может отправить нужные ему данные мимо предусмотренных создателем сайта форм ввода.
Контроль данных на стороне сервера – один из залогов защищенности сайта. В идеале все данные должны контролироваться на входе в каждый скрипт, и на выходе из него. Качественный контроль данных делает невозможными такие хакерские атаки, как PHP-инъекции, SQL-инъекции и эксплуатирование XSS уязвимостей.
В связи с тем, что информационные системы развиваются и потоки данных постоянно растут –растет и число ошибок и недочетов, контроль данных получается не всегда качественным, и из-за этого появляются бреши в безопасности информационных систем.
Ярким примером недостаточного контроля данных служила до середины 2008 года популярная социальная сеть “ВКонтакте”, где пользователь, отправив некорректные данные, мог поставить семейное положение “все сложно” с самим собой. Это было не предусмотрено создателем сайта, но контроль на стороне сервера не осуществлялся. Это одно из наиболее безобидных проявлений данной ошибки.
Еще одним примером, который явным образом лишал производителей программного продукта определенного процента доходов, является flash игра “Ферма”, во все той же социальной сети “ВКонтакте”. В ней так же отсутствовал контроль полученных от приложения сервером данных. Это позволяло злоумышленникам “на лету” перехватывать пакеты идущие от приложения на сервер, исправлять интересующие их параметры (количество монет или предметов) и отправлять измененные пакеты на сервер, который их принимал без проверки и вносил изменения в базу данных.
В идеале, все данные должны качественно обрабатываться и контролироваться. Не всегда это возможно, в силу человеческого фактора (программы пишут люди, а люди ошибаются или учитывают не все нюансы), но к данному идеалу стоит стремиться.

Связаться с нами