Заказать сайт
МОСКВА
111123, г. Москва, шоссе Энтузиастов, д. 56, стр. 26 оф. 205
Лиски
Воронежская область г. Лиски, ул. 40 лет Октября, д. 50

  • Услуги
  • Портфолио
  • Блог
  • О нас
  • Контакты
  • Ищем таланты
Калькулятор

«Защита от дурака» как метод тестирования

16 Августа 2019

Порой посетители сайта ведут себя не лучше детей, нажимают что попало и балуются, вызывая тем самым проблемы в работе ресурса. Чтобы этого избежать, нужно предусмотреть все возможные варианты действий пользователя и обезопасить работу веб-сайта.

Так что же такое «Защита от дурака»?

Данное выражение пришло к нам от японского инженера Сигэо Синго, и в дословном переводе означает «защита от ошибки». Еще в советском ГОСТе «Надежность в технике» встречалось понятие fool-proof concept (дословно «непроницаемый для дурака» или «устойчивый против дурака»). Данный метод заключается в том, чтобы не дать пользователю возможности совершить ошибку. Простой пример – проверять отправляемые сведения на соответствие допустимому типу, диапазону значений, общей длине и пресечение попыток расстроить организацию работы системы методом ввода заведомо ошибочных данных.

Приступаем к тестированию

Возьмем в качестве теста форму обратной связи на сайте. Для тестирования нам необходимо побыть на месте этого самого «дурака». Казалось бы, что опасного может быть в форме обратной связи? Есть поля для ввода имени, E-mail, телефона, также мы можем прикрепить какой-либо файл. Итак:

Имя
С полем имени проблем возникнуть не должно, оно может принимать любое значение на любом языке, возможно, пользователь захочет представиться своим nickname (ником) или ненастоящим именем. Но всё же, стоит проверить, сможем ли мы чем-то навредить системе через это поле.

Существует метод взлома через SQL инъекции, для этого достаточно отправить в базу скрытый запрос через данное поле. Значит, чтобы не дать злоумышленнику такой возможности, нужно поставить в поле контроль спецсимволов и проверку на скрипты. Попробуем отправить безобидный скрипт в этом поле. Если скрипт «ушел» - эту дыру необходимо закрыть.

Одну из уязвимостей мы предотвратили. Хорошее начало, проверяем дальше!

E-mail

Поле E-mail, почта. В сети есть много людей не обладающие компьютерной грамотностью, которые даже не знают что такое электронная почта. Чтобы они не вводили свой домашний почтовый адрес, стоит указать, чего мы от них ждем. Для этого можно вывести сообщение о формате почты, например example@mail.ru. В случае несоответствия формату e-mail (отсутствие @ и «.»), выводить заметное предупреждение об ошибке формата. Для проверки вводим любые символы (заведомо некорректный e-mail).

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

Третьим примером будет проверка на несуществующие адреса. Написан он правильно, лишних символов нет, придраться не к чему. Вот только при заполнении была допущена ошибка в одном символе и такого адреса просто не существует. Есть сервисы, которые помогают определить «живой» ли адрес электронной почты. Если этот сервис дал «добро» такому адресу, пропустим пользователя дальше, но если нет - опять предупреждение: пускай посетитель сайта проверит корректность введенного адреса.

Телефон
Требования к введению телефона должны быть еще более строгими. От пользователя мы ждем номер, состоящий только из цифр, определенной длины или определенного формата. Все эти проверки мы должны добавить к данному полю. Но чтобы не совсем «душить» пользователя, можно добавить ввод по маске вида +7(___)___-__-__, чтобы цифры подставлялись сами на свои места в номере. Для проверки вводим любые символы и строки разной длины.
Файл
Одно из самых опасных мест в форме – это выбор файла. Через это поле сломать систему может не только «хакер», но и простой посетитель сайта. Дело в том, что проверка, чаще всего, ведется только по типу расширения файла, чтобы не позволить злоумышленнику загрузить исполняемые скрипты и код в структуру интернет-проекта. Но не меньшую опасность представляет неограниченный размер файла. Возьмем для примера такую ситуацию: пользователь решил прикрепить фото товара в отзыв к этому товару, зашел в папку с фотографиями и вместо фото выбрал видео, которое весит полтора гигабайта, а на сайте, как раз, недавно был бэкап, и места на хостинге оставалось совсем немного. После превышения квоты на дисковое пространство Хостер вправе заблокировать ресурс. Поэтому, что бы исключить такую ситуацию, при проверке пробуем загрузить большие файлы и файлы с различными расширениями (например .js, .php).

Разработать качественный сайт – не просто. Важно учитывать все моменты. Даже когда проект на первый взгляд готов и функционирует – это не гарантия, что его не сломает сторонний пользователь. Чтобы это предотвратить, нужно знать, понимать и уметь прогнозировать поведение широкой аудитории посетителей web-ресурса, чтобы предупредить возникновение ошибок. Грамотная проверка позволяет предотвратить ошибки со стороны пользователя, обеспечить нас правильной информацией и обезопасить сайт от некорректных действий.



Возникли вопросы по расчету стоимости проекта?
Звоните! Мы всегда рады помочь!
+ 7 (495) 363-4572 (доб.106)
Заказать обратный звонок
Александр Немков

Александр Немков

Специалист по работе с ключевыми клиентами

E-mail: nemkov@salavey.net