
16 апреля 2022 Telegram презентовал новую фичу — Web apps, с помощью которой можно открывать веб страницы в боте без перехода в браузер. Подробнее можно почитать в источнике https://core.telegram.org/bots/webapps.
Однозначно это удобная функция для пользователей и для разработчиков. Но, так как это веб приложение, можно просмотреть что под капотом. Telegram привел в качестве примера бота @DurgerKingBot, его и разберем.
Открываем telegram web, находим бота, запускаем его.

Нажимаем Order Food, откроется веб приложение

-
Здесь видим адрес сайта. Открываются двери для DDoS, брутфорса. Если вы используете webhook, то ссылка на него должна быть сложной (например ключ бота, как предлагает Telegram), никаких tg, telegram, tgwebhook и т.п.
-
Можно узнать, какие домены на этом же ip. Например через 2ip.ru, и если есть боты, которых вы не хотите афишировать, держите их на другом ip. Так же не желательно держать код бота с веб приложением на shared хостинге, так как есть вероятность встретить нежданного «соседа», либо выбирайте надежный shared хостинг
-
Находим js, изучаем его

Ищем нужные методы, например событие создания заказа

и можем отправлять свои данные

Поэтому в ajax надо
-
передавать нужно только те данные, которые ввел пользователь. Цены, склады и прочее подставляйте в бэке. Если количество должно быть целым числом, то проверяйте, иначе бот пропустит 0.1 и выдаст счет на этот товар по 0.1 цене и доказывай потом, что это не глюк бота.
-
на стороне сервера проверять на SQL инъекции, XSS, препарируйте входящие данные
ссылка на оригинал статьи https://habr.com/ru/post/664832/
Добавить комментарий