Cheklangan kirish bilan ma'lumotlarni qayta ishlash va uzatish mumkin bo'lgan telegramma botini ishlab chiqishda ertami-kechmi telegram messenjeri ichida avtorizatsiya jarayonini tashkil qilish haqida savol tug'iladi.
Siz albatta e'tibor berishingiz kerak bo'lgan ikkita asosiy nuqta bor:
1. Turli qurilmalarda axborot ko'rsatishni sinxronlashtirish. Masalan, telefoningizda telegramda yozgan har bir narsa darhol planshetingizda telegrammangizda aks etadi.
2. Vakolatli foydalanuvchining identifikatsiyasini yashirin tasdiqlash mexanizmining yo'qligi. Telegramda qaysi qurilmadan so'rovlar qabul qilinishini aniqlash mexanizmi yo'q. Masalan, siz telefon orqali bot bilan muloqot qilasiz, lekin kimdir planshetingizdan botga buyruq yuborishi mumkin va bot buyruq sizdan kelmaganini aniqlay olmaydi.
Login va parol…
Agar sizning telegram botingiz saytning yopiq bo'limidan ma'lumot olsa va sizda saytning ushbu qismiga kirish uchun login/parol mavjud bo'lsa, telegram mijozi ichida avtorizatsiya qilishda bir xil login va paroldan foydalanish mantiqan to'g'ri keladi. Va mijozdan foydalanuvchi nomi va parolni so'rash unchalik qiyin emas. Ammo №1 muammo paydo bo'ladi. Mijozda login va parolingizni yozganingizdan so'ng, bu ma'lumotlar darhol barcha ulangan qurilmalarda aniq matnda paydo bo'ladi. Agar siz botni shunday sozlagan bo'lsangiz ham, login va parolingizni olganingizdan so'ng u ushbu ma'lumotlarni chatdan o'chirib tashlasa ham, u boshqa qurilmalarda paydo bo'lish uchun vaqtga ega bo'ladi va shu sababli login/parolingiz buzilgan. Ushbu avtorizatsiya sxemasini, qoida tariqasida, maxfiy ma'lumotlarga kirishni cheklash uchun ishlaydigan deb hisoblash mumkin, ammo undan foydalanmaslik yaxshiroqdir. Agar siz login/parol juftligidan to'g'ridan-to'g'ri foydalanmoqchi bo'lsangiz, Internet orqali kirish uchun hisob ma'lumotlarini takrorlamay, telegramda ishlash uchun alohida hisob yaratgan ma'qul.
Xavfsizroq usul faqat parol so'rash bo'ladi. Gap shundaki, bot bilan har bir chat doimiy noyob chat_id-ga ega. Telegram boti har bir xabar bilan chat_id oladi va agar siz foydalanuvchi akkauntini chat_id bilan bog‘lasangiz, u holda qabul qilingan parolni ma’lum bir chat_id bilan bog‘langan akkauntga moslashtirish kifoya. Telegram botning o'zi orqali akkaunt yaratish uchun siz chat_id-ni osongina olishingiz mumkin, keyin uni foydalanuvchini ro'yxatdan o'tkazishda belgilashingiz mumkin. Bunday avtorizatsiya bilan bog'liq muammo birinchi variantda bo'lgani kabi. Yagona afzalligi shundaki, veb-saytga kirish uchun login hamma uchun ochiq emas.
Uchinchi avtorizatsiya usuli eng xavfsiz hisoblanadi. U ko'pincha to'lov tizimlari tomonidan to'lovni tasdiqlash kabi "sezgir" buyruqlar bajarilishini tasdiqlash uchun ishlatiladi. Ushbu usul PIN-koddan foydalanadi. Telegram boti avtorizatsiya zarurligi haqida xabar yuboradi va ushbu xabarga raqamli klaviatura ko‘rinishidagi ichki tugmachalarni biriktiradi. Telegram boti “qayta qo‘ng‘iroqlar_so‘rovi” xabarini ushlab turishdan foydalanib, raqamli klaviaturadagi har bir tugmani bosish jarayonini amalga oshiradi, avtorizatsiya xabarini bosqichma-bosqich o‘zgartiradi, bosilgan raqam o‘rniga “yulduzcha”larni ko‘rsatadi, shunda foydalanuvchi PIN-kodi qabul qilinayotganini ko‘radi. va qayta ishlangan. Telegram avtorizatsiyasining ushbu usuli bilan mijoz kiritilgan PIN kodni ko'rsatmaydi va uni hech kim ko'ra olmaydi. Bunday PIN-kodni to'g'ridan-to'g'ri tanlash eng oson ish emas, chunki... Inline tugmachasini har bir bosish alohida va uzoq kechikish bilan qayta ishlanadi; bunday pin kodini qidirishni avtomatlashtirish juda ahamiyatsiz vazifadir.
Keyin nima?
Aytaylik, siz telegram mijozida foydalanuvchini avtorizatsiya qilish jarayonini tashkil qildingiz. Lekin telegram boti hech qachon xabarlarni qurilmangizdan olmoqdami yoki ular xuddi shu telegramma seansiga ega bo‘lgan yo‘qolgan planshetingizdan kelganmi, bila olmaydi. Xuddi shu tarzda, tajovuzkor yo'qolgan planshetingizda sizniki va botdagi barcha xabarlarni ko'radi. Va foydalanuvchi qilish kerak bo'lgan birinchi narsa - yo'qolgan qurilmalardagi barcha seanslarni uzishdir. Lekin bu ham telegram mijoziga uzatiladigan ma'lumotlarning foydalanuvchi avtorizatsiyasidan keyin buzilishiga to'sqinlik qilmasligi mumkin. Agar ma'lumot muhim va "sezgir" bo'lsa, avtorizatsiyadan so'ng butun chat seansini yozishni boshlash yaxshiroqdir. Foydalanuvchi “chiqish” buyrug‘ini chaqirishi bilanoq, telegram boti login va chiqish o‘rtasidagi chatda olingan barcha ko‘rsatilgan ma’lumotlarni o‘chirib tashlashi mumkin. Bundan tashqari, vaqt tugashini unutmang. Sizning telegram botingiz avtorizatsiya qilingan foydalanuvchining so‘nggi faoliyatidan keyin ma’lum vaqt o‘tgandan keyin chiqish buyrug‘ini avtomatik ravishda bajarishi yomon bo‘lmaydi. Agar sizning telegram botingiz Webhook usuli orqali ishlayotgan bo'lsa, u holda siz avtomatik chiqish jarayonini amalga oshirish uchun skriptni ishga tushirish uchun cron dan foydalanishingiz mumkin.
Ko'rib turganingizdek, telegram maxfiy ma'lumotlar bilan ishlash uchun "teshiklar" bilan to'la va bu muammolarni standart usullar yordamida hal qilish deyarli mumkin emas. Shuning uchun, agar siz bot yordamida telegramma orqali maxfiy ma'lumotlarni uzatishni tashkil qilishingiz kerak bo'lsa, unda bu yomon fikr. Lekin, ehtimol, telegram tomonidan taqdim etilgan ma'lumotlar xavfsizligi darajasi sizning vazifalaringiz uchun etarlidir...
Lekin maxfiylik sizning hamma narsangiz bo'lsa va siz haqiqatan ham telegramdan foydalanmoqchi bo'lsangiz... u holda siz telegram kanalidan faqat ma'lumotlarni uzatish kanali sifatida foydalanishingiz mumkin. Bular. Menga telegram uchun qo'shimcha kerak. Siz allaqachon shifrlangan ma'lumotlarni telegramga yuborasiz, boshqa tomondan, telegram orqali shifrlangan xabarni olganingizdan so'ng, u shifrlangan bo'lishi va ko'rsatilishi kerak ... bu hammasi...