Chat-botlar · 2026-yil 14-oktabr · 2 daqiqa o‘qish
Telegram mini ilovalari xavfsizligi: foydalanuvchi ma’lumotlarini tekshirish
Bu sahifa rus tilida: /blog/mini-prilozhenie-telegram-bezopasnost
Mini ilova Telegram ichida ochilgani uchun ko‘pincha «Telegram himoya qiladi» degan taassurot paydo bo‘ladi. Aslida mini ilova — oddiy veb-ilova va unga oddiy veb-ilovaning barcha xavflari tegishli. Foydalanuvchi brauzer vositalari orqali so‘rovlarni ko‘rishi va o‘zgartirishi mumkin.
initData nima
Mini ilova ochilganda Telegram unga initData qatorini beradi: foydalanuvchi identifikatori, ismi, til, ochilish vaqti (auth_date) va imzo (hash). Imzo bot tokeni asosida yaratilgan. Shu tufayli server ma’lumotlar haqiqatan Telegramdan kelganini va o‘zgartirilmaganini tekshira oladi.
Skript bundan tashqari initDataUnsafe obyektini ham beradi — bu qulaylik uchun ajratilgan ko‘rinish, lekin u tekshirilmagan. Xavfsizlik qarorlari uchun undan foydalanmang.
Serverda tekshirish tartibi
- Frontend initData qatorini o‘zgartirmasdan serverga yuboradi — masalan, har bir so‘rov sarlavhasida
- Server qatordan hash qiymatini ajratadi
- Qolgan maydonlarni kalit bo‘yicha alifbo tartibida saralab, rasmiy hujjatda tasvirlangan formatda qatorga birlashtiradi
- Bot tokeni va «WebAppData» qatori asosida HMAC-SHA256 bilan maxfiy kalit hisoblanadi
- Shu kalit bilan qator imzosi hisoblanadi va hash bilan solishtiriladi
- auth_date tekshiriladi — juda eski ma’lumot rad etiladi
Aniq algoritm Telegram Mini Apps rasmiy hujjatlarida keltirilgan. Ko‘p kutubxonalarda tayyor tekshirish funksiyasi bor — o‘zingiz yozgandan ko‘ra sinalgan kutubxonadan foydalaning.
Tekshiruvdan keyin
Muvaffaqiyatli tekshiruvdan so‘ng server foydalanuvchi uchun o‘z seansini yaratishi mumkin — masalan, qisqa muddatli token. Keyingi so‘rovlar shu token bilan, har safar initData’ni qayta tekshirmasdan.
Frontendga ishonmaslik
- Narxlar va summalar. Savat summasi serverda mahsulotlar va miqdor asosida hisoblanadi, frontend yuborgan summaga emas.
- Chegirmalar va promo-kodlar. Serverda tekshiriladi.
- Huquqlar. Foydalanuvchi faqat o‘z buyurtmalarini ko‘ra oladi — server identifikatorni initData’dan oladi, so‘rov parametridan emas.
- To‘lov holati. Faqat to‘lov provayderidan kelgan tasdiq asosida.
Token va kalitlar
Bot tokeni va tashqi API kalitlari faqat serverda. Frontend kodi foydalanuvchiga to‘liq ochiq — u yerga qo‘yilgan har qanday kalit oshkor hisoblanadi.
Umumiy veb-xavfsizlik
- Faqat HTTPS
- API’da so‘rovlar chastotasini cheklash
- Kiruvchi ma’lumotlarni tekshirish va filtrlash — SQL in’eksiya va XSS’dan himoya
- CORS sozlamalari faqat kerakli manbalar uchun
- Xatolar haqida foydalanuvchiga ortiqcha texnik ma’lumot bermaslik
Shaxsiy ma’lumotlar
Mini ilova odatda telefon raqami, manzil va buyurtmalar tarixini saqlaydi. Faqat kerakli ma’lumotlarni yig‘ing, ularni himoyalangan bazada saqlang va saqlash joyi bo‘yicha mahalliy talablarga rioya qiling. Telefon raqamini so‘rashda foydalanuvchi buni o‘zi tasdiqlashi kerak.
Tekshiruv ro‘yxati
- initData imzosi serverda har bir seans boshida tekshiriladi
- auth_date muddati cheklangan
- initDataUnsafe xavfsizlik uchun ishlatilmaydi
- Narx, chegirma va to‘lov holati faqat serverda
- Token va kalitlar frontendda yo‘q
- API so‘rovlari cheklangan va jurnalga yoziladi
Ishga tushirishdan oldin bu ro‘yxatni mustaqil mutaxassis bilan ko‘rib chiqish — ayniqsa ilova to‘lov qabul qilsa — oqilona sarmoya.
Vazifani muhokama qilamiz
Ism va telefon raqamingizni qoldiring — qo‘ng‘iroq qilib, jarayon haqida so‘raymiz va nimadan boshlashni taklif qilamiz.
Loyihani muhokama qilish