𝗧𝗵𝗲 𝗗𝗮𝘆 𝗪𝗲 𝗙𝗶𝘅𝗲𝗱 𝗢𝘂𝗿 𝗦𝗶𝗴𝗻𝘂𝗽 𝗣𝗶𝗽𝗲𝗹𝗶𝗻𝗲

ہمارے سائن اپ کے اعداد و شمار ہر ہفتے بڑھ رہے تھے۔ ٹیم پرجوش تھی۔ لیکن ڈیٹا غلط لگ رہا تھا۔ صارفین کبھی واپس نہیں آئے۔ ای میل ایڈریس عجیب لگ رہے تھے۔ ہماری ایکٹیویشن ریٹ (activation rate) گر گئی۔

میں نے ڈیٹا کا جائزہ لیا۔ مجھے ترقی نہیں ملی، بلکہ صرف شور (noise) ملا۔

مسئلہ

میں نے آئی پی (IP) ایڈریس کے لحاظ سے سائن اپس کو گروپ کرنے کے لیے ایک کوئری (query) چلائی۔ ایک ہی آئی پی ایڈریس نے 24 گھنٹوں میں سینکڑوں اکاؤنٹس رجسٹر کیے تھے۔ یہ ایک ہی براؤزر فنگر پرنٹ (browser fingerprint) استعمال کر رہا تھا۔ ایک اسکرپٹ ہمارے رجسٹر اینڈ پوائنٹ (register endpoint) پر ہٹ کر رہا تھا۔ یہ عارضی ای میل ڈومینز استعمال کر رہا تھا۔ یہ ایک بوٹ (bot) تھا، کوئی انسان نہیں۔

ہمارا سائن اپ پائپ لائن بالکل کھلا ہوا تھا۔

حل

ہم نے ایک ہی اسپرنٹ (sprint) میں تحفظ کی تین تہیں (layers) بنائیں۔

لیئر 1: تھروٹلنگ (Throttling)

ہم نے ریٹ لمٹینگ (rate limiting) کی دو اقسام استعمال کیں۔

لیئر 2: بلاک لسٹس (Blocklists)

لیئر 3: آئی پی بلاک لسٹ (IP Blocklist)

کچھ آئی پیز مستقل بنیادوں پر حملہ کرتی ہیں۔ وہ ہمارے سسٹم کے متعدد حصوں کا غلط استعمال کرتی ہیں۔ ہم ایک سخت بلاک لسٹ استعمال کرتے ہیں۔ ان آئی پیز کو ہر درخواست کے لیے مسترد کر دیا جاتا ہے۔ مڈل ویئر (middleware) انہیں فوری طور پر روک دیتا ہے۔

نتائج

اصلاح سے پہلے:

اصلاح کے بعد:

سیکھے گئے اسباق

ترقی کا مطلب صرف صارفین حاصل کرنا نہیں ہے۔ اس کا مطلب حقیقی صارفین حاصل کرنا ہے۔ آپ کے پروڈکٹ کے فیصلے اچھے ڈیٹا پر منحصر ہوتے ہیں۔ اور وہ ڈیٹا آپ کے رجسٹریشن اینڈ پوائنٹ (registration endpoint) سے شروع ہوتا ہے۔

ماخذ: https://dev.to/ogeobubu/the-day-we-fixed-our-signup-pipeline-3664