Bosh sahifa Wiki Email verification

Email verification

Email verification — foydalanuvchi ko‘rsatilgan elektron pochta qutisiga kirish imkoniga ega ekanini tasdiqlash jarayoni. Odatda tizim bir martalik havola yoki kod yuboradi, foydalanuvchi esa uni qisqa muddat ichida ishlatadi. Bu jarayon email manzili mavjudligini va ayni paytda nazorat qilinishini ko‘rsatadi, lekin pochta egasining haqiqiy ism-shaxsini yoki manzil doim unga tegishli bo‘lib qolishini isbotlamaydi.

Token yaratish

Server yetarli entropiyaga ega tasodifiy token yaratib, uni foydalanuvchi, maqsad va expiry bilan bog‘laydi. Bazada tokenning ochiq qiymati o‘rniga xeshi saqlanishi mumkin. Xatdagi havola tokenni olib yuradi:

https://example.uz/verify-email?token=...

Foydalanuvchi havolani ochganda server tokenni xeshlab, saqlangan qiymat bilan constant-time usulda solishtiradi. Muddati o‘tmagan, ishlatilmagan va ayni maqsadga tegishli bo‘lsa email tasdiqlanadi. Token muvaffaqiyatdan keyin bir martalik qilib bekor qilinadi. Raqamli kod ishlatilsa, kichik qidiruv maydoni sabab urinishlar qat’iy cheklanadi.

Email o‘zgarishi

Yangi hisobdagi tasdiqlash bilan mavjud hisob emailini almashtirish turli xavfga ega. Almashtirishdan oldin foydalanuvchi qayta autentifikatsiya qilinadi. Yangi manzil tasdiqlanmaguncha eski manzil asosiy aloqa va recovery kanali bo‘lib qolishi mumkin. O‘zgarish haqida eski manzilga ham ogohlantirish yuborish hisob egasiga ruxsatsiz amalni sezish imkonini beradi.

Havola ichidagi token qaysi yangi emailga tegishli ekanini server yozuvi orqali aniq bog‘laydi. Client yuborgan alohida email parametriga ishonib, tokenni boshqa manzilga qo‘llash account takeover xatosiga olib kelishi mumkin. Bir foydalanuvchi yangi manzil so‘rasa, oldingi kutilayotgan tokenlar bekor qilinadi yoki ularning aniq versiyasi nazorat qilinadi.

URL va brauzer xavfsizligi

Verification havolasi faqat HTTPS ishlatadi va host nomi server konfiguratsiyasidan olinadi. So‘rovdagi Host sarlavhasini nazoratsiz havolaga qo‘shish password reset poisoningga o‘xshash hujum yaratishi mumkin. Token URLda bo‘lgani sababli server access logi, analitika, brauzer tarixi va tashqi resurslarga Referer orqali tushishi ehtimoli bor. Verification sahifasi tashqi script va rasmlarni minimal ishlatadi, referrer policy o‘rnatadi va tokenni imkon qadar tez server-side sessiyaga almashtiradi.

Ba’zi pochta xavfsizlik skanerlari xatdagi havolani foydalanuvchidan oldin avtomatik ochadi. Oddiy GET so‘rovi darhol tasdiqlashni yakunlasa, skaner tokenni sarflashi mumkin. Tizim GETda xavfsiz oraliq sahifa ko‘rsatib, yakuniy o‘zgarishni foydalanuvchi tasdiqlagan POST amali bilan bajarishi mumkin.

Yetkazish va maxfiylik

Email yuborish endpointi hisob mavjudligini oshkor qilmaslik uchun tashqi javobni umumiy shaklda beradi. Rate limit bitta manzilga spam yuborish va provayder reputatsiyasini buzishni cheklaydi. Bounce va complaint signallari noto‘g‘ri manzilni aniqlashga yordam beradi, lekin tasdiqlashning o‘rnini bosmaydi.

Tasdiqlangan email ham keyin qayta boshqa shaxsga berilishi yoki pochta hisobi egallanishi mumkin. Muhim amallarda faqat “verified” bayrog‘iga tayanilmaydi; sessiya, MFA va yaqinda qayta autentifikatsiya kabi dalillar qo‘shiladi. Audit token qiymatini emas, yuborish, muvaffaqiyat, expiry va manzil o‘zgarishi hodisalarini saqlaydi.

Normalizatsiya va noyoblik

Email manzilning domen qismi katta-kichik harfga bog‘liq emas va IDN domenlar aniq formatda saqlanadi. Local partni barcha provayderlar uchun nuqta yoki +tag bo‘yicha o‘zboshimchalik bilan o‘zgartirish mumkin emas; bunday qoidalar provayderga xos. Noyoblik siyosati bazada race conditionga chidamli constraint bilan bajariladi. Tasdiqlashdan oldingi yozuv boshqa foydalanuvchining amaldagi verified manzilini egallab ololmaydi.

Bog‘liq tushunchalar

Verification token, Email address, Password reset, Account takeover, Rate limiting, HTTPS, Re-authentication