Эту статью мы решили опубликовать для всех тех, кто владеет ботами или только составляет ТЗ для программистов. Она ближе познакомит вас с теми правилами безопасности. Вы должны соблюдать их при работе со своими ботами, серверами и кодом.

Стоит ли тебе волноваться за сохранность данных, за надежную и стабильную работу твоего умного помощника?

Сегодня мы и наши опытные разработчики, дадим пару советов на тему безопастности в Telegram ботах.

Не экономь на сервере.

Бот - это обычная программа (скрипт), которая должна быть запущена на каком-либо устройстве. Понимая это, многие админы решают держать бота на своем собственном компьютере. Это крайне ненадежно и нестабильно. Мы рекомендуем арендовать самый простенький удаленный сервер (VPS). $5/месяц вполне достаточно. Это довольно небольшая плата за возможность спать спокойно. И знать что твой бот будет работать 24/7.

1 аккаунт - 1 бот.

Для каждого бота регистрируй отдельный аккаунт Telegram. Очень простое правило с не очень очевидным следствиями:

  • В случае блокировки/удаления твоего основного аккаунта - бот не пострадает.
  • Если захочешь продать свое детище - сделать это будет проще простого!

Важно - аккаунты нужно регистрировать на физические SIM-карты. Виртуальные (одноразовые) номера очень быстро блокируются!

Не пали IP своего сервера.

Узнав твой IP, конкуренты непременно воспользуются этим, проведя DDoS-атаку (завалят сервер огромным количеством запросов). Если твой бот сопровождается сайтом (либо сайт сопровождается ботом) — пользуйся для этого разными серверами!

Добавь защиту от множественных нажатий.

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

Не забывай о классических уязвимостях.

SQL injection никто не отменял) Разрабатывая бота, необходимо придерживаться тех же правил, что и при разработке сайта. Особенно это касается панели управления (админки). Самой актуальной уязвимостью при разработке умных помощников является Race condition.

7 раз отмерь - 1 раз сохрани.

Эффективное хранение данных в базе - одно из ключевых требований для стабильной работы бота. При увеличении количества записей (пользователей, объектов и т.д.) - увеличивается занимаемая память на сервере. А при нерациональной архитектуре базы - скорость роста размера твоего хранилища просто астрономическая.

Подключи Backup

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