توکن در واقع چیست
وقتی رباتی ساخته میشود، Telegram رشتهای شامل یک عدد، یک دونقطه و یک دنباله بلند و تصادفی برمیگرداند. هر درخواستی که نرمافزار شما به Telegram میفرستد، این رشته را همراه دارد و Telegram با استفاده از آن تشخیص میدهد که درخواست واقعاً از طرف ربات شما آمده است یا نه.
هیچ عامل تأیید دوم یا گذرواژه جداگانهای وجود ندارد. تمام فرایند احراز هویت به همین توکن وابسته است، به همین دلیل نحوه نگهداری از آن از هر تنظیم دیگری در ربات مهمتر است.
عدد پیش از دونقطه، شناسه خود ربات است و محرمانه نیست. دنباله پس از آن محرمانه است.
کسی که توکن شما را دارد چه کارهایی میتواند انجام دهد
هر کاری که ربات شما قادر به انجام آن است، و خیلیها همین بخش را دستکم میگیرند. اگر ربات در کانال شما مدیر باشد، فردی غریبه با در اختیار داشتن توکن میتواند از طرف شما پست منتشر کند، پیامها را حذف کند و اعضا را بیرون بیندازد. او همچنین میتواند هر چیزی را که ربات دریافت میکند بخواند، که در یک گروه یعنی پیامهایی که ربات اجازه دیدنشان را داشته است.
هیچکدام از این اتفاقها از بیرون شبیه حمله به نظر نمیرسد. بیشتر شبیه رفتار عجیب ربات شماست، به همین دلیل معمولاً توکنهای افشاشده دیر شناسایی میشوند، مثلاً پس از سومین پست عجیب، نه اولین پست.
آسیب فقط به اتفاقهای بعدی محدود نمیشود. اگر رباتی برای اعضای شما لینک کلاهبرداری منتشر کند، اعتمادی را که طی یک سال ساختهاید از بین میبرد و هرقدر هم بعداً توضیح بدهید، همه آن اعتماد بازنمیگردد.
توکنها از کجا افشا میشوند
تقریباً هیچوقت از طریق Telegram افشا نمیشوند. معمولاً در اسکرینشاتهایی که برای درخواست کمک منتشر میکنید، در کدی که به یک مخزن عمومی میفرستید، در پیامی به توسعهدهندهای که بعداً پروژه را ترک میکند یا در گفتوگوی پشتیبانی با کسی که مؤدبانه آن را درخواست کرده است، لو میروند.
الگو هر بار یکسان است: با توکن مثل یک تنظیم برخورد شده، نه یک راز. توکن در فایل پیکربندی کنار طرح رنگ قرار میگیرد و در نتیجه با همان میزان دقتی که طرح رنگ کپی میشود، این طرف و آن طرف میرود.
مخزنهای عمومی رایجترین محل افشای توکن هستند و جلوگیری از این مورد از همه آسانتر است. هر چیزی که شبیه توکن است باید در یک متغیر محیطی نگهداری شود و هرگز در فایلی قرار نگیرد که ثبتش میکنید.
اگر توکن افشا شد چه باید کرد
آن را باطل کنید. در BotFather، ساختن توکن جدید برای ربات، توکن قدیمی را همان لحظه بیاعتبار میکند و هر چیزی که هنوز از رشته قدیمی استفاده میکند از کار میافتد. ابتدا همین کار را انجام دهید و بعد بررسی کنید توکن چطور افشا شده است، دقیقاً با همین ترتیب.
سپس اتفاقهای زمان افشای توکن را بررسی کنید: پستهای اخیر کانال، اعضایی که بهتازگی از فهرست اعضا حذف شدهاند و هر چیزی که ربات ارسال کرده اما شما ننوشتهاید. باطل کردن توکن راه ورود را میبندد، اما اتفاقهایی را که پیش از آن رخ دادهاند خنثی نمیکند.
یک پلتفرم باید چطور از توکن نگهداری کند
اگر توکن خود را در اختیار سرویسی میگذارید، آن سرویس باید توکن را هنگام ذخیرهسازی رمزگذاری کند، نه اینکه آن را بهصورت متن ساده در پایگاه داده نگه دارد، و توکن هرگز نباید در خطوط گزارش ثبت شود. در BotLaunch، توکنهای ربات و سایر دادههای حساس هنگام ذخیرهسازی با AES-256 رمزگذاری میشوند و میتوانید هر زمان که خواستید از طریق BotFather توکن را باطل و جایگزین کنید، بدون اینکه تنظیمات خود را از دست بدهید.
منطقی است که پیش از جایگذاری هر اطلاعاتی این سؤال را از هر پلتفرمی بپرسید. پلتفرمی که نتواند پاسخ روشنی بدهد، نکته مهمی را درباره خودش آشکار کرده است.
چه زمانی اصلاً به توکن نیاز ندارید
بیشتر افراد هرگز با توکن سروکار پیدا نمیکنند. در BotLaunch، ربات مشترک را بهعنوان مدیر به کانال خود اضافه میکنید و ماژولها را از طریق وب فعال میکنید، بنابراین نه لازم است رباتی بسازید و نه توکنی نگه دارید. اتصال ربات اختصاصی با برند خودتان، که به توکن نیاز دارد، یکی از امکانات طرح پولی برای افرادی است که میخواهند نام خودشان روی ربات باشد.