Ch 6 nomidan foydalanib tizimga kiring. Foydalanuvchi ma'lumotlarining xavfsizligi. Instagramda "Op, xatolik yuz berdi" muammosining echimlari

23 oktyabr 23:15 da e'lon qilingan.

Xavfsizlikni oshirish uchun foydalanuvchi nomini tekshirishdan foydalanish hisob

Qo'shimcha xavfsizlik chorasi sifatida biz sizga ma'lum EA sahifalarida, jumladan, EA hisob sahifasida hisob xavfsizligini oshirish uchun foydalanuvchi nomini tekshirish tizimini taqdim etamiz.

  • FIFA o'yinchilari diqqatiga: bu funksiya FIFA Ultimate Team serverlari va hamkor ilovalariga kirish uchun talab qilinadi.

Ushbu xavfsizlik chorasi odamlarning EA hisobingizga parolsiz va foydalanuvchi nomingizni tasdiqlamasdan noma'lum qurilmalardan kirishini oldini olish uchun mo'ljallangan. Bildirishnomalar siz tanlagan mobil telefoningizga yoki elektron pochtangizga yuboriladi. Foydalanuvchi nomini tekshirish jarayonida vaqtinchalik raqamli kodlar noma'lum qurilmadan hisobga kirish uchun zarur bo'lgan har bir aniq foydalanuvchi uchun kirish.


Foydalanuvchi nomini tekshirishni yoqing

1. ea.com saytiga o‘ting va tizimga kiring.

2. Foydalanuvchi nomingizni bosing, keyin "Mening hisobim" ni tanlang.

3. Foydalanuvchi nomini tekshirish bo'limini topishingiz mumkin bo'lgan Xavfsizlik yorlig'ini tanlang.

4. Foydalanuvchi nomini tekshirishni yoqish uchun Yoqish tugmasini bosing, xavfsizlik savolingizni kiriting va variantlardan birini tanlang: tasdiqlash kodini olish uchun elektron pochta, identifikatsiya ilovasi yoki SMS.

  • Variantni tanlasangiz " Elektron pochta” SMS emas, iltimos, hisobingiz uchun taqdim etilgan elektron pochta manzili yangi xabarlar borligini muntazam tekshirib turadigan haqiqiy va ishlaydigan manzil ekanligiga ishonch hosil qiling.
  • Planshetlar va mobil telefonlar uchun identifikatsiya ilovasi hisobingizga kirish uchun ushbu qurilmalarda tasdiqlash kodlarini yaratish imkonini beradi.
  • Ochiladigan ro'yxatdan qurilmangiz turini tanlang va Apple va Android qurilmalari uchun Google Authenticator yoki qurilmalar uchun Authenticator dasturini yuklab oling. operatsion tizim Windows.
  • PlayStation 3 va Xbox 360-dagi FIFA 15 o‘yinchilari autentifikatsiya ilovasi yordamida foydalanuvchi nomini tekshirishda qo‘shimcha xavfsizlik choralarini ko‘rishlari shart emas.

5. Endi siz noma'lum qurilmadan tizimga kirishga harakat qilganingizda tasdiqlash kodini olasiz. Har 90 kunda ishonchli qurilmalardan hisobingizga kirganingizda tasdiqlash kodini olasiz. Shunday qilib, faqat siz EA hisobingizga noyob kod yordamida kirishingiz mumkin.


Agar kerak bo'lsa, hisobni boshqarish sahifasiga qaytib, "O'chirish" ni tanlash orqali foydalanuvchi nomini tekshirishni o'chirib qo'yishingiz mumkin.*

Eslatma

  • *Agar siz FIFA Ultimate Team oʻynayotgan boʻlsangiz, foydalanuvchi nomini tekshirishni oʻchirib qoʻymang, aks holda sizga ruxsat berilmaydi.
  • FIFA Ultimate Team uchun xavfsizlik savoli va javobini ham yaratganingizga va tasdiqlaganingizga ishonch hosil qiling.

Identifikatsiya ilovangizni sozlang

Identifikatsiya ilovasi eng ko'p tez yo'l shaxsingizni ishonchli tarzda tasdiqlang. Telefoningizda identifikatsiya ilovasini o'rnating mobil qurilma ikki bosqichli identifikatsiya qilish uchun yaratgan kod yordamida tizimga kiring.

1. Mening hisobim sahifasida Xavfsizlik yorlig'ini oching va foydalanuvchi nomini tekshirish bo'limini toping.

2. Foydalanuvchi nomini tekshirishni yoqish uchun Yoqish tugmasini bosing, xavfsizlik savoliga javob bering, Identifikatsiya ilovasini tanlang va Davom etish tugmasini bosing.

3. Ochiladigan ro‘yxatdan o‘zingizga kerak bo‘lgan telefon operatsion tizimini tanlang va shtrix-kodni o‘qish ilovasi yordamida QR kodini skanerlang yoki tegishli ilova uchun autentifikatsiyani telefoningiz uchun ilovalar do‘konidan qidiring: Android va iOS’da Google Authenticator yoki Windows’da Authenticator. Telefon.

4. Identifikatsiya ilovasini oching va hisobni qo'lda qo'shish variantini tanlang.

5. QR kodini skanerlang yoki kiriting maxfiy kod identifikatsiya ilovangizni EA hisobingizga ulash uchun.

6. Electronic Arts hisob qaydnomangiz uchun yaratilgan kodni kiritish va “Foydalanuvchi nomini tekshirishni yoqish” tugmasini bosish orqali identifikatsiya ilovasini sozlashni tugating.

Kelajakda foydalanuvchi nomingizni tasdiqlashingiz kerak bo'lganda:

1. Identifikatsiya ilovasini oching.

2. Electronic Arts hisobingiz uchun olti xonali kodni kiriting.

Yaratilgan kod cheklangan vaqt uchun amal qiladi. Agar joriy kodingiz muddati tugash arafasida bo'lsa, uni kiritish uchun etarli vaqtingiz bo'lishi uchun ilova yangi kod yaratishini kuting.

Agar uni ishlata olmasam nima qilishim kerak? Mobil telefon yoki menga kod kerak bo'lganda elektron pochtami? Yordam kodlarini yaratish mumkinmi?

Agar sizning telefoningiz, ID yoki elektron pochta siz uchun mavjud emas, yagona yo'l Noma'lum kompyuterdan EA hisobiga kirish - yordam kodlaridan foydalanish. Ularni siz uchun xavfsiz va qulay joyda saqlashingizga ishonch hosil qiling. Siz ushbu kodlarni EA hisob qaydnomangizda Origin mijozidagi Maxfiylik sozlamalari ostida yoki onlaynda ko‘rishingiz va yangilashingiz mumkin.

  • “Xavfsizlik”, keyin “Ko‘rish” va “Yordam kodlari”ni bosing.*
  • Shuningdek, “FIFA Ultimate Teamga kirganingizdan so‘ng yangi kod so‘rash” funksiyasidan ham foydalanishingiz mumkin.

*Agar qoʻllab-quvvatlash kodlari tugasa, Hisobni boshqarish sahifasida yangilarini yaratishingiz mumkin.

Tasdiqlang bog'lanish uchun ma'lumot kod to'g'ri ekanligiga ishonch hosil qilish uchun.

Agar foydalanuvchi nomini tasdiqlash kodi bilan qiynalayotgan bo'lsangiz, elektron pochta manzilingiz yoki telefon raqamingiz to'g'ri kiritilganligiga ishonch hosil qiling. Identifikatordan foydalanganda dastur to'g'ri o'rnatilganligiga ishonch hosil qiling.

  • Agar siz foydalanuvchi nomini tasdiqlashni faollashtirganda elektron pochtangizga kod yuborishni tanlagan bo'lsangiz, Hisobni boshqarish sahifangizning "Men haqimda" bo'limida yoki Origin mijozi orqali elektron pochta manzilingizni tekshirishingiz va yangilashingiz mumkin.
  • Agar siz Identity App ni tanlasangiz, ?secre= va & orasida kodni skanerlash va qidirish uchun shtrix-kod yoki QR koddan foydalanishingiz mumkin.
  • Agar siz foydalanuvchi nomini tasdiqlashni faollashtirganda SMS orqali kod yuborish opsiyasini tanlagan boʻlsangiz, hisobingizni boshqarish sahifasining Xavfsizlik boʻlimida yoki Origin mijozi orqali telefon raqamingizni tekshirishingiz va yangilashingiz mumkin.
  • Xavfsizlik savoli va javobini yarating yoki tasdiqlang.

Kontakt ma'lumotlarini tasdiqlaganingizdan so'ng, siz yangi kodni olish uchun foydalanuvchi nomini tekshirishni yoqish imkoniyatiga ega bo'lasiz.

Nega men bu shaklni oldim?

Hozirda saytingizda qo'pol kuch hujumi mavjud. Shafqatsiz kuch hujumi parolni taxmin qilish hujumidir. Bunday holda, saytingizning ma'muriy paneli uchun parol tanlanadi.

Saytingizni buzishning oldini olish va uning xavfsizligini oshirish uchun biz qo'shimcha himoya o'rnatdik.

Endi saytning administrator paneliga qanday kirishim mumkin?

Endi saytingizning ma'muriy paneliga (Joomla yoki WordPress-da) kirishda login va parolni kiritish uchun "iltimos, boshqaruv paneli parolidan foydalaning" yozuvi bilan qo'shimcha oyna paydo bo'ladi. Kirish sifatida siz hosting xizmatining loginini kiritishingiz kerak, bu shunday ko'rinadi "u1234567". Parol hosting xizmati uchun joriy paroldir.

Asosiy HTTP autentifikatsiyasidan o'tganingizdan so'ng, saytingizning boshqaruv panelida standart kirish maydonini ko'rasiz. Endi siz sayt administratorining login va parolini kiritishingiz kerak bo'ladi.

HTTP asosiy autentifikatsiyasi qanday ishlaydi

Asosiy autentifikatsiya oynasida login-parolni kiritishda login qiymati va parol xesh maxsus fayldagi qiymatlar bilan solishtiriladi ~/etc/users, hosting boshqaruv panelida mavjud. Fayl mazmuni quyidagicha ko'rinadi: "u1234567: dm48bspxIO3rg". Bu erda “u1234567” login va “dm48bspxIO3rg” parol xesh(eslatma: parolning o'zi emas, faqat xesh!). Parol xeshi ma'lum bir algoritm yordamida parolni o'zgartirish natijasidir.

Shunday qilib, login va parolni asosiy autentifikatsiya oynasiga kiritganingizda, kiritilgan parol dan olinadi hash va fayldagi xesh qiymati bilan solishtiradi ~/etc/users. Agar qiymatlar mos kelsa, siz autentifikatsiya qilingansiz.

Men asosiy autentifikatsiyadan o'ta olmayman

Ehtimol, siz noto'g'ri parol kiritgansiz. Asosiy autentifikatsiya uchun yangi parol o'rnating:

Agar siz asosiy autentifikatsiyadan o'tgan bo'lsangiz, lekin to'g'ridan-to'g'ri Joomla yoki WordPress saytingizning administrator paneliga kira olmasangiz, yordamdan foydalaning:

Veb-saytingizning qo'pol kuch hujumlaridan himoyasini qanday oshirish mumkin?

Sayt xavfsizligini oshirish uchun:

  • superfoydalanuvchi loginini yanada noyobiga o'zgartiring. Qisqa ismlarni ishlatmang, familiya bilan birga ismni ishlatsangiz yaxshi bo'ladi. Internetda eng mashhur loginlar to'plangan ko'plab manbalar mavjud. Ular bilan tanishib chiqing va ulardan hech qachon foydalanmang;
  • Murakkab sayt administrator parolini o'rnating. Murakkab parol katta va kichik harflar, raqamlar va "* - _ # :" kabi qo'shimcha belgilardan iborat bo'lishi kerak. Parol uzunligi 6 belgidan kam emas. Tercihen 10 va undan yuqori.

HTTP asosiy autentifikatsiya shaklini qanday olib tashlash mumkin?

HTTP asosiy autentifikatsiya shaklini olib tashlash uchun:

AuthType Basic AuthName "iltimos, boshqaruv paneli parolidan foydalaning" AuthUserFile .../users To'g'ri foydalanuvchi talab qiladi

Qatorga izoh berish uchun satr boshiga xesh belgisini ("#") qo'ying, shunga o'xshash.

Bizga quyidagi sahifalar kerak bo'ladi:

  • Ro'yxatdan o'tish shakli bilan ro'yxatdan o'tish sahifasi
  • Hisobni faollashtirish sahifasi
  • Parolni tiklash sahifasi
  • Parolni tiklash sahifasi

Saytga kirish formasi saytning barcha sahifalarida (masalan, sarlavhada) joylashtiriladi.

Bu biz olmoqchi bo'lgan ro'yxatdan o'tish sahifasi:

Bu erda hisob turi foydalanuvchini qaysi guruhga ro'yxatdan o'tkazishimizni aniqlaydi. Shuningdek, identifikatsiya maydoni (foydalanuvchi nomi) elektron pochta bo'ladi.

Sahifaga qo'ng'iroq parchasini qo'shing Roʻyxatdan oʻtish:

[[!Roʻyxatdan oʻtingmi? &submitVar=`register-btn` &activationResourceId=`27` &activationEmailTpl=`Email.Activation` &activationEmailSubject=`Siz example.com` &placeholderPrefix=`reg.` &successMsg=` saytida ro`yxatdan o`tgansiz

Roʻyxatdan oʻtganingiz uchun tashakkur. Sizning elektron pochtangizga [[!+reg.email]] Hisobingizni faollashtirish uchun havola bilan elektron pochta xabari yuborildi. Roʻyxatdan oʻtishni yakunlash uchun ushbu havolaga oʻting.
` &usernameField=`email` &usergroupsField=`reg_type` &customValidators=`valueIn` &validate=`foydalanuvchi nomi:blank, reg_type:valueIn=^Readers;Writers;Idlers ^, toʻliq ism:talab:minLength:Length=6^qizil =^6^, password_confirm:password_confirm=^password^, email:required:email` ]] [[!+error.message:default=`[[!$Register.Form]]`]]

Ro'yxatdan o'tish bilan bog'liq barcha teglar talab qilinishini unutmang Majburiy keshlanmagan qo'ng'iroq. Xuddi shu qoidalar FormIt parchasi bilan shakllarni qayta ishlashda qo'llaniladi.

Keling, qo'ng'iroq parametrlarini ko'rib chiqaylik:

&submitVar=`register-btn`- tegning nom atributini belgilaydi kiritish. Ya'ni, parcha faqat forma ma'lum bir nomga ega tugma bilan yuborilsa ishlaydi.

&activationResourceId=`42`- oldinga qarab, 42 biz foydalanuvchini faollashtiradigan sahifaning identifikatoridir.

&activationEmailTpl=`Email.Activation`- faollashtirish xati bo'lgan bo'lak, bu haqda keyinroq.

&placeholderPrefix=`reg.`- bu parchada yaratilgan barcha toʻldiruvchilar, kamdan-kam istisnolardan tashqari (bu haqda keyinroq) “reg” bilan boshlanishi kerakligini bildiradi.

&successMsg- ariza muvaffaqiyatli topshirilgandan so'ng ko'rsatiladigan xabar. E'tibor bering, u forma va boshqa teglardan qiymatlarni o'z ichiga olishi mumkin. Bu xabar to'ldiruvchi uchun ro'yxatdan o'ting [[!+xato.xabar]]. Juda g'alati nom va hujjatlarda bu daqiqa xato. U yerda yozilgan [[!+reg.error.message]], lekin komponent kodidan shunday emasligi kelib chiqadi.

&usernameField=`elektron pochta`- elektron pochta maydoni foydalanuvchi nomi sifatida ishlatilishini bildiradi.

&usergroupsField=`reg_type`- yangi foydalanuvchi qo'shiladigan guruhni ko'rsatadigan maydonni belgilaydi.

&customValidators=`valueIn`- qo'lda yaratilishi kerak bo'lgan qo'shimcha validatorlarni belgilaydi.

&tasdiqlash– validatorlar har bir maydon uchun vergul bilan ajratilgan holda belgilanadi va agar bitta maydon uchun bir nechta validatorlar talab etilsa, ular ham ikki nuqta bilan ajratiladi. Keling, ularni alohida ko'rib chiqaylik:

foydalanuvchi nomi: bo'sh- oddiy spam tuzog'i, bu foydalanuvchi nomi maydoni bo'sh qolishi kerakligini anglatadi.

reg_type:valueIn=^Readers;Writers;Idlers^- biz ko'rsatilgan uchta mumkin bo'lgan guruhlarni cheklaymiz. Dastlabki tarqatishda bunday narsa yo'q va yovuz xakerlar, masalan, Administrator guruhi ostida ro'yxatdan o'tishlari mumkin (agar siz uni qayta nomlamagan bo'lsangiz).

to'liq ism:majburiy:minLength=^6^- to'liq nom maydoni bo'sh bo'lmasligi va kamida 6 ta belgidan iborat bo'lishi kerak.

parol: talab qilinadi: minLength=^6^- parol uchun o'xshash.

password_confirm:password_confirm=^parol^- Parollar bir xil bo'lishi kerak.

elektron pochta: zarur: elektron pochta- elektron pochta bo'sh bo'lmasligi va haqiqiy pochta bo'lishi kerak.

Dizayn [[!+error.message:default=`[[!$Register.Form]]`]] Agar siz sahifaga hozirgina tashrif buyurgan bo'lsangiz yoki uni noto'g'ri to'ldirgan bo'lsangiz, shakl yoki shaklning bo'limi muvaffaqiyatli topshirilganligi haqida xabarni ko'rsatadi.

Yuqoridagi validatorni yaratamiz qiymatIn. Buning uchun ism bilan parcha yarating qiymatIn va quyidagi kod:

$valueIn = portlash (";", $param); qaytish in_array($value, $valueIn);

Endi siz bo'lak yaratishingiz kerak Register. Form . Bu holda u quyidagicha bo'ladi (Bootstrap 3 ishlatiladi):

[[!+reg.error.fullname:notempty=`
[[!+reg.error.fullname]]
`]]
[[!+reg.error.email:notempty=`
[[!+reg.error.email]]
`]]
[[!+reg.error.password:notempty=`
[[!+reg.error.password]]
`]]
[[!+reg.error.password_confirm:notempty=`
[[!+reg.error.password_confirm]]
`]]

Barcha maydonlar talab qilinadi

Ushbu shaklda MODX bilan bog'liq bir nechta narsalarni qayd etaman:


– forma ko‘rsatilgan sahifada qayta ishlanadi.

Shakldan olingan qiymatlarni o'rnating, shunda muvaffaqiyatsiz bo'lsa, foydalanuvchi hamma narsani qayta kiritishi shart emas.

[[!+reg.error.email:notempty=`[[!+reg.error.email]]`]]- yana, muvaffaqiyatsiz bo'lsa, maydon ostida xato xabari ko'rsatiladi.

– agar siz avvalroq xususiyatni o‘rnatgan bo‘lsangiz, tugma nomini ko‘rsatishni unutmang &submitVar.


Endi faqat bir parcha yaratish qoladi Elektron pochta. Faollashtirish sayt foydalanuvchiga yuboradigan xat bilan:

Roʻyxatdan oʻtganingiz uchun tashakkur! Hisobingizni faollashtirish uchun quyidagi havolaga o'ting:

Example.Com saytida hisobingizni faollashtiring

Faollashtirishdan so'ng siz elektron pochta va parolingiz yordamida tizimga kirishingiz mumkin bo'ladi:

Tizimga kirish:[[+email]]

Parol:[[+parol]]


Bu yerda siz forma maydoni nomlari bilan to'ldiruvchilardan foydalanishingiz mumkin. E'tibor bering, ular "reg"siz yozilgan. To'ldiruvchi ham qo'shiladi [[+confirmUrl]], unda faollashtirish havolasi allaqachon yaratilgan bo'lsa, siz hech narsa qilishingiz shart emas.


Komponent yordamida yangi hisob qaydnomasini ro'yxatdan o'tkazish san'atiga yakuniy teginish Tizimga kirish faollashtirish sahifasi yaratiladi. Biz ushbu sahifa uchun bo'sh shablondan foydalanamiz va sahifa tarkibida siz faqat teg chaqiruvini ko'rsatishingiz kerak:

[[!Ro'yxatdan o'tishni tasdiqlaysizmi? &redirectTo=`1`]]

Bu erda 1 - faollashtirish muvaffaqiyatli bo'lsa, foydalanuvchi yo'naltiriladigan sahifaning identifikatori. Bunday holda, u allaqachon tizimga kirgan bo'ladi.


Keling, foydalanuvchi profiliga kirishni sozlashni boshlaylik. Avtorizatsiya shakli oddiy bo'ladi:

Keling, uni kerakli joyga chaqirish orqali qo'shamiz:

[[!Tizimga kirish? &loginTpl=`Auth.Login` &logoutTpl=`Auth.Logout` &errTpl=`Auth.Login.Error` &actionKey=`action` &loginKey=`login` &redirectToPrior=`1` &logoutResourceId=`1`]]

Bu erda biz yuqorida chizilgan login formasi bilan bo'lakni belgilaymiz ( &loginTpl=`Auth.Login`), avtorizatsiya qilingan foydalanuvchilarga ko'rsatilgan kodli bo'lak ( &logoutTpl=`Auth.Chiqish`), kirish xatosi chiqishi bilan kichik bo'lak ( &errTpl=`Auth.Login.Error`). Quyidagi parametrlar:

&actionKey=`action` Va &loginKey=`login`- so'rovni qayta ishlash uchun asosiy identifikatorlar. Birinchisi POST so'rovidagi parametr nomini, ikkinchisi esa uning qiymatini bildiradi. Ya'ni, forma $_POST["action"]="login" qiymatidan o'tishi kerak, shunda parcha parchasi Tizimga kirish uni qayta ishladi.

&redirectToPrior=`1`- bu tizimga kirganimizdan so'ng biz kirgan sahifaga o'tishimizni anglatadi.

&logoutResourceId=`1`- profildan chiqishda biz ID 1 bilan sahifaga o'tamiz.


Chunk Auth.Login :

[[!+xatolar]]

Shakl xuddi shu sahifada qayta ishlanadi. Agar xatolik yuzaga kelsa, u to'ldiruvchida shakl ostida ko'rsatiladi [[!+xatolar]]. Ro'yxatdan o'tish va parolni tiklash bilan resurslarga havolalarni ham eslab qolishingiz kerak. Esda tutingki, elektron pochta maydonida name = “foydalanuvchi nomi” - aynan shu maydonda parcha elektron pochta xabarini takrorlaydi. Roʻyxatdan oʻtish, va u foydalanuvchilarga xosdir.


Chunk Auth.Chiqish:

[]` &tpl=`User.HeaderBadge` &innerJoin=`("modUserGroupMember":("taxallus":"modUserGroupMember","on":"modUser.id = modUserGroupMember.member"), "modUserGroup":("taxallus" :"modUserGroup", "on":"modUserGroupMember.user_group = modUserGroup.id"))` &select=`("modUserGroup":("group_name": "modUserGroup.name"))` ]]

Profildan chiqish

Agar barcha foydalanuvchilar bir guruhda bo'lsa, bu qism kerak emas. Ammo foydalanuvchi guruhini ko'rsatish uchun Login komponentiga kiritilgan standart parchalar etarli emas. Guruh nomini olish uchun oddiy parcha yozishingiz mumkin xPDO, yoki siz tayyor parchadan foydalanishingiz mumkin pdoUsers paketga kiritilgan pdoTools. Ushbu parchada ko'rsatilgan parametrlar:

&users=`[[+modx.user.id]]`- faqat joriy ruxsat berilgan foydalanuvchini tanlang.

&tpl=`User.HeaderBadge`- foydalanuvchi haqida qisqacha ma'lumot ko'rsatadigan bo'lak.

&innerJoin– Foydalanuvchilar guruhi jadvallarini birlashtirgan JSON, tavsif maqola doirasidan tashqarida. Asosiysi, u ishlaydi J.

&tanlash– Tanlovga group_name taxallusli modUserGroup.name maydonini qo‘shadigan JSON.


User.HeaderBadge foydalanuvchi nishoni bilan bo'lak :

sifatida tizimga kirgansiz [[+group_name]][[+toʻliq ism]] Shaxsiy hisob

Agar bizga foydalanuvchi guruhi kerak bo'lmasa, unda bu bo'lakning tarkibi to'g'ridan-to'g'ri bo'lakka kiritilishi mumkin edi. Auth.Chiqish . Bu yerda siz har qanday modUser va modUserProfile maydonlari va undan foydalanish bilan to'ldiruvchilarni ko'rsatishingiz mumkin pdoUsers maydon qo'shildi guruh_nomi.


Bo'lakda Auth.Login.Error oddiy xato chiqishi:

[[+xabar]]

Biz kirishni tugatdik. Ushbu nuqtada foydalanuvchi ro'yxatdan o'tishi va muvaffaqiyatli kirishi mumkin. Ammo agar u parolini unutgan bo'lsa-chi? Bunday holda, u "Parolni unutdingizmi?" Havolasini bosadi. va parolni tiklash sahifasiga o'tadi, biz avval yaratamiz va u erda qo'ng'iroq qilamiz:

[[!Parolni unutdingizmi? &tpl=`Auth.ForgotPass.Form` &submitVar=`forgotpass` &errTpl=`Auth.Login.Error` &sentTpl=`Auth.ForgotPass.Sent` &emailTpl=`Email.ForgotPass` &emailSubject=`Hisobingizga kirish huquqini tiklash. veb-sayt. Com` &resetResourceId=`29`]]

Keling, ushbu qo'ng'iroqning parametrlarini ko'rib chiqaylik:

&tpl=`Auth.ForgotPass.Form`- foydalanuvchi elektron pochta manzilini kiritadigan shaklning bir qismi.

&submitVar=`pass pass`- ForgotPassword snippetida, bo'sh bo'lmagan qiymatdan qat'i nazar, serverga bir xil nomdagi parametr uzatilishi kifoya.

&errTpl=`Auth.Login.Error` - Login snippetiga o'xshash xato chiqishi

&sentTpl=`Auth.ForgotPass.Sent`- bu bo'lak parolni o'zgartirish uchun elektron pochta muvaffaqiyatli yuborilgan taqdirda ko'rsatiladigan tarkibni o'z ichiga oladi.

&emailTpl=`Email.ForgotPass`- xatning o'zi shu erda joylashgan.

&emailMavzu=`Example.Com veb-saytida hisobingizga kirishni tiklash` - xatning sarlavhasi.

&resetResourceId=`29`- parol yangisiga o'rnatiladigan resurs identifikatori.


Bo'lak Auth.ForgotPass.Form:

[[+loginfp.errors]]

Bu erda yagona yangi narsa - to'ldiruvchida xatolarni ko'rsatishning boshqa usuli [[+loginfp.errors]] va ushbu maxsus shakl parolni qayta tiklaydigan parametrni o'tkazish: .

Auth.ForgotPass.Sent:

Hisobni tiklash ma'lumotlari ko'rsatilgan elektron pochta manziliga yuborildi: [[+email]].

Yuqoridagi shakldagi ma'lumotlardan bu erda foydalanishingiz mumkin.


Email.ForgotPass:

[[+to'liq ism]],

Yangi parolingizni faollashtirish uchun quyidagi havolaga tashrif buyuring:

Men yangi parolni xohlayman

Agar hamma narsa yaxshi bo'lsa, siz quyidagi ma'lumotlardan foydalanib profilingizga kirishingiz mumkin bo'ladi:

Tizimga kirish:[[+foydalanuvchi nomi]]

Parol:[[+parol]]

Rahmat,
Example.Com saytining ma'muriyati

Hammasi faollashtirish xati bo'lagiga juda o'xshaydi, bu erda faqat parol parchada hosil bo'ladi.


Yakuniy qadam - foydalanuvchi parolni yangilash uchun elektron pochtadan o'tadigan resurs yaratish. Ushbu resursda bizga qo'ng'iroq kerak:

[[!ResetPassword:empty=`

Siz parolni tiklashga buyurtma bermadingiz. Ehtimol siz noto'g'ri manzilga egasiz. Siz saytning asosiy sahifasiga o'tishingiz yoki yuqoridagi menyudan foydalanishingiz mumkin.

`? &tpl=`Auth.ForgotPass.Reset`]]

Agar kimdir bu sahifaga to'satdan yoki tasodifan kirsa, bu kod xabarni ko'rsatadi. Va agar parol muvaffaqiyatli tiklansa, bo'lakdan xabar ko'rsatiladi Auth.ForgotPass.Reset:

Sizning parolingiz elektron pochtada ko'rsatilgan parolga muvaffaqiyatli tiklandi. Endi siz ushbu parol bilan tizimga kirishingiz mumkin. Uni profilingizda o'zgartirishni unutmang.

Endi bizda to'liq ishlaydigan foydalanuvchi avtorizatsiyasi va ro'yxatga olish tizimi mavjud. Vakolatli foydalanuvchilarning profilini o'zgartirish ushbu maqola doirasidan tashqarida qoladi.


1. Ro'yxatdan o'tish sahifasini yarating va unga qo'ng'iroq parchasini qo'shing Roʻyxatdan oʻtish.

2. Ro'yxatdan o'tish shakli bilan bo'laklar yarating Register. Form va faollashtirish xati Elektron pochta. Faollashtirish.

3. Ro'yxatdan o'tishni tasdiqlash sahifasini yarating va unga qo'ng'iroq parchasini joylashtiring Ro'yxatdan o'tishni tasdiqlang.

4. Chaqiruv parchasini qo'shing Tizimga kirish login formasini va avtorizatsiya qilingan foydalanuvchi nishonini joylashtirmoqchi bo'lgan joyga.

5. Kirish formasi bilan bo'lak yarating Auth.Login , vakolatli foydalanuvchi haqidagi ma'lumotlar bo'laklari Auth.Chiqish , xato xabari bilan bo'lak Auth.Login.Error .

6. Parolni tiklash sahifasini yarating va unga qo'ng'iroq parchasini qo'ying Parolni unutdingizmi.

7. Bo'lak hosil qiling Auth.ForgotPass.Form parolni tiklash shakli bilan, bo'lak Auth.ForgotPass.Sent xatning muvaffaqiyatli yuborilganligi haqidagi xabar bilan, parcha Email.ForgotPass parolni tiklash elektron pochtasi bilan.

8. Yakuniy parolni tiklash bilan resurs yarating va unda parcha chaqiruvini joylashtiring Parolni tiklash.

9. Bo'lak hosil qiling Auth.ForgotPass.Reset parol muvaffaqiyatli tiklanganligini bildiruvchi xabar bilan.

Ana xolos. Men har qanday qo'shimcha va sharhlardan xursand bo'laman.

Veb-ilovalarni yaratishda xavfsizlikka jiddiy yondashish kerak, ayniqsa foydalanuvchilardan ma'lumotlarni olish bilan shug'ullanish kerak bo'lganda.

Umumiy xavfsizlik qoidasi hech kimga ishonmaslikdir, shuning uchun siz foydalanuvchilarning har doim shakllarga to'g'ri qiymatlarni kiritishiga ishona olmaysiz. Misol uchun, ushbu maydonga to'g'ri elektron pochta manzilini kiritish o'rniga, foydalanuvchi noto'g'ri manzilni yoki hatto ba'zi zararli ma'lumotlarni kiritishi mumkin.

Foydalanuvchi ma'lumotlarini tekshirish haqida gap ketganda, u mijoz tomonidan (veb-brauzerda) yoki server tomonida amalga oshirilishi mumkin.

Ilgari mijoz tomonidan tekshirish faqat JavaScript yordamida amalga oshirilishi mumkin edi. Ammo hamma narsa o'zgardi (yoki deyarli o'zgardi), chunki HTML5 yordamida tekshirishni JavaScript-da murakkab tekshirish skriptlarini yozishga hojat qoldirmasdan brauzerda amalga oshirish mumkin.

HTML5 yordamida shaklni tekshirish

HTML5 quyidagi teg atributlariga asoslangan ancha mustahkam mexanizmni taqdim etadi : turi, naqsh va talab. Ushbu yangi atributlar yordamida siz ma'lumotlarni tekshirish funksiyalarining bir qismini brauzerga yuklashingiz mumkin.

Shaklni tekshirishda qanday yordam berishini tushunish uchun ushbu atributlarni ko'rib chiqaylik.

tip atributi

Bu atribut ma'lumotlarni qayta ishlash uchun qaysi kiritish maydonini ko'rsatish kerakligini aytadi, masalan, tanish maydon kabi

Ba'zi kiritish maydonlari qo'shimcha kod yozishni talab qilmasdan allaqachon standart tekshirish usullarini taqdim etadi. Masalan, kiritilgan qiymat haqiqiy elektron pochta manzili shabloniga mos kelishiga ishonch hosil qilish uchun maydonni tekshiradi. Agar maydonga noto'g'ri belgi kiritilsa, qiymat tuzatilmaguncha shaklni yuborib bo'lmaydi.

Quyidagi demoda elektron pochta maydoni qiymatlari bilan o'ynashga harakat qiling.

Boshqa standart maydon turlari ham mavjud, masalan , Va mos ravishda raqamlar, URL va telefon raqamlarini tekshirish uchun.

Eslatma: Telefon raqamlaridagi raqamlar soni va formatlardagi farqlar tufayli telefon raqamlari formatlari mamlakatdan mamlakatga farq qiladi. Natijada, spetsifikatsiya telefon raqamlarini tekshirish algoritmini aniqlamaydi, shuning uchun yozish paytida bu xususiyat brauzerlar tomonidan yomon qo'llab-quvvatlanadi.

Yaxshiyamki, telefon raqamini tekshirish naqsh atributi yordamida amalga oshirilishi mumkin, bu argument sifatida muntazam ifodani oladi, biz buni keyingi ko'rib chiqamiz.

naqsh atributi

Naqsh atributi, ehtimol, ko'plab front-end ishlab chiqaruvchilarni xursandchilik bilan sakrashga majbur qiladi. Ushbu atribut maydonga kiritilgan ma'lumotlarning to'g'riligini tekshirish uchun ishlatiladigan muntazam ifodani (JavaScript muntazam ifoda formatiga o'xshash) qabul qiladi.

Muntazam iboralar matnni tahlil qilish va boshqarish uchun ishlatiladigan tildir. Ular ko'pincha murakkab topish va almashtirish operatsiyalari uchun, shuningdek kiritilgan ma'lumotlarning to'g'riligini tekshirish uchun ishlatiladi.

Bugungi kunda muntazam iboralar eng mashhur dasturlash tillarida, shuningdek, ko'plab skript tillarida, muharrirlarda, ilovalarda, ma'lumotlar bazalarida va buyruq qatori yordamchi dasturlarida mavjud.

Muntazam ifodalar (RegEX) alohida belgilar, so'zlar yoki belgilar naqshlari kabi matn qatorini moslashtirish uchun kuchli, qisqa va moslashuvchan vositadir.

Oddiy ifodani naqsh atributining qiymati sifatida o'tkazish orqali siz berilgan kiritish maydoni uchun qanday qiymatlar maqbulligini belgilashingiz, shuningdek, foydalanuvchini xatolar haqida xabardor qilishingiz mumkin.

Keling, kirish maydonlarining qiymatini tekshirish uchun muntazam ifodalardan foydalanishning bir nechta misollarini ko'rib chiqaylik.

Telefon raqamlari

Yuqorida aytib o'tilganidek, turli mamlakatlardagi telefon raqamlari formatidagi nomuvofiqliklar tufayli tel maydoni turi brauzerlar tomonidan to'liq qo'llab-quvvatlanmaydi.

Misol uchun, ba'zi mamlakatlarda telefon raqamlari formati xxxx-xxx-xxxx sifatida taqdim etiladi va telefon raqamining o'zi quyidagicha bo'ladi: 0803-555-8205 .

Ushbu naqsh mos keladigan muntazam ifoda: ^\d(4)-\d(3)-\d(4)$ . Kodda buni quyidagicha yozish mumkin:

Alfanumerik qiymatlar

zarur atribut

Bu mantiqiy atribut bo‘lib, shaklni yuborish uchun berilgan maydon qiymati to‘ldirilishi kerakligini ko‘rsatish uchun ishlatiladi. Ushbu atributni maydonga qo'shsangiz, brauzer shaklni yuborishdan oldin foydalanuvchidan ushbu maydonni to'ldirishni talab qiladi.

Bu bizni JavaScript yordamida maydonni tekshirishni amalga oshirishdan qutqaradi, bu esa ishlab chiquvchilarga biroz vaqtni tejash imkonini beradi.

Masalan: yoki (XHTML muvofiqligi uchun)

Yuqorida ko'rgan barcha demolar kerakli atributdan foydalanadi, shuning uchun siz hech qanday maydonlarni to'ldirmasdan shaklni yuborishga urinib ko'rishingiz mumkin.

Xulosa

Shaklni tekshirish uchun brauzerni qo'llab-quvvatlash juda yaxshi va eski brauzerlar uchun siz polifilllardan foydalanishingiz mumkin.

Shuni ta'kidlash kerakki, faqat brauzer tomonidan tekshirishga tayanish xavflidir, chunki bu tekshiruvlarni tajovuzkorlar yoki botlar osongina chetlab o'tishlari mumkin.

Hamma brauzerlar HTML5-ni qo'llab-quvvatlamaydi va skriptingizga yuborilgan barcha ma'lumotlar formangizdan kelmaydi. Bu shuni anglatadiki, foydalanuvchidan ma'lumotlarni qabul qilishdan oldin uning to'g'riligini server tomonida tekshirish kerak.

"Axmoq himoyasi" - bu shaklga noto'g'ri ma'lumotlar kiritilishining oldini olishga qaratilgan chora-tadbirlar majmui. Misol uchun, agar siz maydonga 0 dan 10 gacha bo'lgan ijobiy raqamni kiritishingiz kerak bo'lsa, foydalanuvchi matnni yoki belgilangan diapazonda yotmaydigan raqamni kiritmasligini tekshirishingiz kerak, ya'ni. raqam noldan kam va o'ndan ortiq bo'lmasligi kerak.

Nima uchun noto'g'ri ma'lumotlar kiritilmoqda? Bu asosan uchta sababga ko'ra amalga oshiriladi.

  1. Foydalanuvchi tasodifan xatoga yo'l qo'ydi, masalan, u ko'rsatishi kerak bo'lgan narsani diqqat bilan o'qidi.
  2. Veb-sahifa ma'lumotlarni noaniq tarzda so'raydi, bu esa foydalanuvchini haqiqatan ham nimani xohlashini taxmin qilish va taxmin qilish imkonini beradi. Biroq, ishlab chiquvchi va foydalanuvchining fikrlari har doim ham mos kelmaydi.
  3. Ko'rsatmalarni qiyinchilik deb biladigan va aksincha harakat qiladigan odamlar bor. Bunday foydalanuvchilar quyidagicha fikr bildirishadi: “Ha, ular mendan raqam kiritishimni so‘rashmoqda. Harflarni ko'rsatsam nima bo'ladi? ” Keyin ular aniq noto'g'ri ma'lumot so'rashadi va bu nimaga olib kelishini ko'rishadi.

Shuni tushunish kerakki, aniq va to'g'ri so'zlar, garchi u xatolar ehtimolini kamaytirsa ham, sizni hech qanday holatda ulardan qutqarmaydi. Faqat server tomonidagi texnik vositalar kerakli natijani olish va noto'g'ri ma'lumotlarni kiritishdan qochish imkonini beradi. Biroq, qayta ko'rib chiqish yoki, xuddi shunday deyilganidek, mijoz tomonidan tekshirish sizga formani serverga yubormasdan, foydalanuvchi tomonidan kiritilgan ma'lumotlarning to'g'riligini tezda tekshirish imkonini beradi. Bu foydalanuvchi vaqtini tejaydi va serverdagi yukni kamaytiradi. Foydalanish nuqtai nazaridan, afzalliklari ham bor - foydalanuvchi qaysi ma'lumotni noto'g'ri kiritganligi haqida darhol xabar oladi va xatosini tuzatishi mumkin.

Majburiy maydon

Ba'zi forma maydonlari serverga yuborilishidan oldin to'ldirilishi kerak. Bu, masalan, login va parolni kiritishingiz kerak bo'lgan ro'yxatdan o'tish shakliga tegishli. Kerakli maydonlarni belgilash uchun 1-misolda ko'rsatilganidek, kerakli atributdan foydalaning.

Misol 1. Kerakli atribut

HTML5 IE 10+ Cr Op Sa Fx

Majburiy maydon

Tizimga kirish:

Parol:

Shaklni yuborishdan oldin kerakli maydonlarni to'ldirish kerak, aks holda forma serverga yuborilmaydi va brauzer bu haqda ogohlantirish beradi. Xabar turi brauzerga bog'liq, masalan, Chrome rasmda ko'rsatilganidek, maslahatchini ko'rsatadi. 1.

Guruch. 1. Majburiy maydon to'ldirilmagan

Ma'lumotlarning to'g'riligi

Dastlab, foydalanuvchi kiritgan ma'lumotlar avtomatik ravishda tekshiriladigan ikkita maydon mavjud. Bu veb-manzil va elektron pochta manzili. Chrome, shuningdek, taqvim maydonini haqiqiyligini tekshiradi, lekin faqat taqvimga bosish interfeysi yo'qligi sababli. Ushbu elementlar uchun quyidagi qoidalar qo'llaniladi.

  • Internet manzili ( ) protokolni o'z ichiga olishi kerak (http://, https://, ftp://).
  • E-mail manzili ( ) @ belgisidan oldin harflar yoki raqamlar, undan keyin nuqta va birinchi darajali domenni o'z ichiga olishi kerak.

Brauzerlar foydalanuvchi ma'lumotlarini tekshirish uchun biroz boshqacha siyosatlarga ega. Masalan, Opera avtomatik ravishda kiritilgan matn oldiga http:// protokolini kiritadi, boshqa brauzerlar esa uni foydalanuvchidan kutadi. Chrome va Opera elektron pochta manzilida nuqtani talab qiladi; Firefox buni talab qilmaydi.

2-misolda talab qilinadigan maydonlarga ega shakl ko'rsatilgan, unda ikkita maydon brauzer tomonidan tasdiqlangan.

2-misol: Ma'lumotlarning to'g'riligi

HTML5 IE 10+ Cr Op Sa Fx

Ma'lumotlarning to'g'riligi

Shaklni to'ldiring (barcha maydonlar shart)

Nomi:

Email:

Veb-sayt:

Opera forma elementini faqat nom atributiga ega bo'lsa tekshiradi.

Noto'g'ri ma'lumotlarni kiritganingizda Operada nima sodir bo'lishi rasmda ko'rsatilgan. 2.

Guruch. 2. Noto'g'ri ma'lumotlar haqida ogohlantirish

Kirish shabloni

Ba'zi ma'lumotlarni shakl elementi turlaridan biriga tasniflab bo'lmaydi, shuning uchun siz uning uchun matn maydonidan foydalanishingiz kerak. Shu bilan birga, ular ma'lum bir standartga muvofiq kiritiladi. Shunday qilib, IP-manzil nuqta bilan ajratilgan to'rtta raqamni o'z ichiga oladi (192.168.0.1), Rossiyaning pochta indeksi olti raqam bilan cheklangan (124007), telefon raqami hudud kodi va ma'lum raqamlar sonini o'z ichiga oladi, ular ko'pincha bir-biridan ajratiladi. defis (391 555-341-42) va boshqalar. Brauzer kirish shablonini ko'rsatishi kerak, shunda u foydalanuvchi tomonidan kiritilgan ma'lumotlarni unga muvofiq tekshiradi. Buning uchun naqsh atributidan foydalaniladi va uning qiymati muntazam ifodadir. Ba'zi tipik qiymatlar jadvalda keltirilgan. 1.

3-misol sizdan o'n oltilik rang qiymatini (#ffcc00) kiritishingizni so'raydi va agar u bu oraliqda bo'lmasa, brauzer xato xabarini ko'rsatadi.

Misol 3. Kirish shabloni

HTML5 IE 10+ Cr Op Sa Fx

Rang kiritish

O'n oltilik rang qiymatini kiriting (# bilan boshlanishi kerak)

Shaklda. 3-rasmda Chrome brauzerida ogohlantirish ko'rsatilgan.

Guruch. 3. Kiritilgan ma'lumotlar shablonga mos kelmaydi

Bekor qilish

Shakl uchun tasdiqlash har doim ham talab qilinmaydi; masalan, ishlab chiquvchi universal JavaScript yechimidan foydalanishni xohlaydi va endi brauzer tomonidan takroriy tekshirish kerak bo'lmaydi. Bunday hollarda siz o'rnatilgan tekshirishni o'chirib qo'yishingiz kerak. Buning uchun tegning novalidate atributidan foydalaning

. 4-misolda ushbu atributdan foydalanish ko'rsatilgan.

4-misol: bekor qilish

HTML5 IE 10+ Cr Op Sa Fx

novalidat atributi

Xuddi shunday maqsadda formnovalidate atributidan foydalaniladi, u shaklni yuborish tugmasiga, bu holda tegga qo'shiladi. . Bunday holda, 4-misoldagi shakl shunday ko'rinadi.