6. prijava pomoću imena je potrebna. Sigurnost korisničkih podataka. Rješenja problema "Ups, došlo je do greške" na Instagramu

Objavljeno 23. oktobra u 23:15.

Korištenje provjere korisničkog imena za povećanje sigurnosti račun

Kao dodatnu sigurnosnu mjeru, pružamo vam sistem za verifikaciju korisničkog imena za poboljšanje sigurnosti naloga na određenim stranicama EA, uključujući stranicu vašeg EA naloga.

  • Pažnja FIFA igračima: ovu funkciju potrebno za pristup FIFA Ultimate Team serverima i partnerskim aplikacijama.

Ova sigurnosna mjera je dizajnirana da spriječi ljude da se prijave na vaš EA račun s nepoznatih uređaja bez lozinke i provjere vašeg korisničkog imena. Obavještenja će biti poslana na vaš mobilni telefon ili e-mail po vašem izboru. Tokom procesa verifikacije korisničkog imena, privremeno digitalni kodovi pristup za svakog određenog korisnika potreban za prijavu na nalog sa nepoznatog uređaja.


Omogućite provjeru korisničkog imena

1. Idite na ea.com i prijavite se.

2. Kliknite na svoje korisničko ime, a zatim odaberite "Moj nalog".

3. Odaberite karticu Sigurnost, gdje možete pronaći odjeljak Verifikacija korisničkog imena.

4. Kliknite Omogući da omogućite verifikaciju korisničkog imena, unesite svoje sigurnosno pitanje i odaberite jednu od opcija: e-pošta, aplikacija za identitet ili SMS da biste primili verifikacioni kod.

  • Ako odaberete opciju " Email” umjesto SMS-a, uvjerite se da je adresa e-pošte navedena za vaš nalog važeća i ispravna adresa koju redovno provjeravate da li imate nove poruke.
  • Aplikacija za identifikaciju za tablete i mobilne telefone omogućava vam da generišete verifikacione kodove na tim uređajima da biste se prijavili na svoj nalog.
  • Odaberite vrstu uređaja sa padajuće liste i preuzmite Google Authenticator za Apple i Android uređaje ili Authenticator za uređaje koji koriste operativni sistem Windows.
  • Igrači FIFA 15 na PlayStation 3 i Xbox 360 neće morati poduzeti dodatne sigurnosne mjere prilikom provjere svog korisničkog imena pomoću aplikacije za autentifikaciju.

5. Sada ćete dobiti verifikacioni kod kada pokušate da se prijavite sa nepoznatog uređaja. Svakih 90 dana dobit ćete verifikacioni kod kada se prijavite na svoj račun sa pouzdanih uređaja. Na ovaj način samo vi možete pristupiti svom EA nalogu koristeći jedinstveni kod.


Ako je potrebno, možete onemogućiti provjeru korisničkog imena tako što ćete se vratiti na stranicu za upravljanje računom i odabrati Onemogući.*

Bilješka

  • *Nemojte onemogućiti verifikaciju korisničkog imena ako igrate FIFA Ultimate Team, inače će vam biti odbijen pristup.
  • Obavezno kreirajte i potvrdite sigurnosno pitanje i odgovor za FIFA Ultimate Team.

Postavite svoju aplikaciju za identifikaciju

Aplikacija za identifikaciju je najviše brz način bezbedno potvrdite svoj identitet. Postavite aplikaciju za identifikaciju na svom mobilni uređaj da se prijavite koristeći kod koji generiše za identifikaciju u dva koraka.

1. Otvorite karticu Sigurnost na stranici Moj nalog i pronađite odjeljak Potvrda korisničkog imena.

2. Kliknite na Omogući da omogućite verifikaciju korisničkog imena, odgovorite na sigurnosno pitanje, odaberite Aplikacija za identitet i kliknite Nastavi.

3. Izaberite operativni sistem telefona koji vam je potreban sa padajuće liste i skenirajte QR kod pomoću aplikacije za čitanje barkodova ili pretražite u prodavnici aplikacija za svoj telefon za autentifikator za odgovarajuću aplikaciju: Google Authenticator na Android i iOS ili Authenticator na Windows Telefon.

4. Otvorite aplikaciju za identifikaciju i izaberite opciju za ručno dodavanje naloga.

5. Skenirajte QR kod ili unesite tajni kod da povežete svoju aplikaciju identiteta s vašim EA računom.

6. Završite postavljanje aplikacije za identifikaciju unošenjem koda koji je generirao za vaš Electronic Arts račun i klikom na „Omogući verifikaciju korisničkog imena“.

Kada budete trebali potvrditi svoje korisničko ime u budućnosti:

1. Otvorite aplikaciju za identifikaciju.

2. Unesite šestocifreni kod za svoj Electronic Arts nalog.

Generirani kod vrijedi ograničeno vrijeme. Ako vaš trenutni kod već ističe, pričekajte da aplikacija generira novi kôd kako biste imali dovoljno vremena da ga unesete.

Šta da radim ako ga ne mogu koristiti? mobilni telefon ili email kada mi treba kod? Da li je moguće generirati kodove pomoći?

Ako je vaš telefon, ID ili email nisu vam dostupni, jedini način Prijavite se na EA nalog sa nepoznatog računara - upotreba kodova pomoći. Pobrinite se da ih čuvate na mjestu koje je sigurno i vama dostupno. Ove kodove možete pregledati i ažurirati na svom EA nalogu pod postavkama privatnosti u Origin klijentu ili na mreži.

  • Kliknite na “Security”, zatim “View” i “Help Codes”.*
  • Također možete koristiti funkciju "Zatražite novi kod nakon prijave u FIFA Ultimate Team".

*Ako vam ponestane kodova za podršku, možete generirati nove na stranici Upravljanje računom.

Potvrdi kontakt informacije kako biste bili sigurni da je kod ispravan.

Ako imate poteškoća s verifikacionim kodom za korisničko ime, provjerite jesu li vaša adresa e-pošte ili telefonski broj ispravno uneseni. Kada koristite identifikator, provjerite je li program ispravno instaliran.

  • Ako ste odabrali da pošaljete kod na svoju e-poštu kada ste aktivirali verifikaciju korisničkog imena, možete provjeriti i ažurirati svoju adresu e-pošte u odjeljku O meni na stranici za upravljanje nalogom ili putem Origin klijenta.
  • Ako odaberete Identity App, možete koristiti bar kod ili QR kod za skeniranje i traženje koda između ?secret= i &.
  • Ako ste odabrali opciju slanja koda putem SMS-a prilikom aktiviranja provjere korisničkog imena, možete provjeriti i ažurirati svoj broj telefona u odjeljku Sigurnost na stranici za upravljanje nalogom ili putem Origin klijenta.
  • Kreirajte ili potvrdite sigurnosno pitanje i odgovor.

Nakon što potvrdite svoje kontakt podatke, imat ćete opciju da omogućite provjeru korisničkog imena kako biste primili novi kod.

Zašto sam dobio ovaj obrazac?

Trenutno postoji brutalni napad na vašu web lokaciju. Brute-force napad je napad pogađanja lozinke. U tom slučaju se bira lozinka za administrativni panel vaše stranice.

Kako bismo spriječili hakovanje Vaše stranice i povećali njenu sigurnost, instalirali smo dodatnu zaštitu.

Kako sada mogu pristupiti admin panelu stranice?

Sada, kada pristupite administrativnom panelu Vaše stranice (na Joomla ili WordPress), pojavit će se dodatni prozor za unos Vašeg korisničkog imena i lozinke s natpisom „molimo koristite lozinku svoje kontrolne ploče“. Kao login, morate uneti login vašeg hosting servisa, izgleda "u1234567". Lozinka je trenutna lozinka za vašu uslugu hostinga.

Nakon što prođete osnovnu HTTP autentifikaciju, vidjet ćete standardno polje za prijavu u admin panelu vaše stranice. Sada ćete morati unijeti korisničko ime i lozinku administratora stranice.

Kako radi HTTP osnovna autentifikacija

Prilikom unosa lozinke za prijavu u prozor za osnovnu autentifikaciju, vrijednost za prijavu i hash lozinkeće se uporediti sa vrijednostima u posebnoj datoteci ~/etc/users, dostupno na kontrolnoj tabli vašeg hostinga. Sadržaj datoteke izgleda otprilike ovako: "u1234567:dm48bspxIO3rg". Gdje je “u1234567” prijava, a “dm48bspxIO3rg” je hash lozinke(napomena: samo heš, ne i sama lozinka!). Heš lozinke je rezultat pretvaranja lozinke pomoću specifičnog algoritma.

Dakle, kada unesete svoju prijavu i lozinku u prozor za osnovnu autentifikaciju, unesena lozinka se preuzima iz hash i uspoređuje sa hash vrijednošću u datoteci ~/etc/users. Ako se vrijednosti podudaraju, autentificirani ste.

Ne mogu proći osnovnu autentifikaciju

Vjerovatno unosite pogrešnu lozinku. Postavite novu lozinku za osnovnu autentifikaciju:

Ako ste prošli osnovnu autentifikaciju, ali ne možete se prijaviti direktno na admin panel vašeg Joomla ili WordPress stranice, koristite pomoć:

Kako povećati zaštitu vaše web stranice od brute-force napada?

Da povećate sigurnost stranice:

  • promijenite prijavu superkorisnika na jedinstveniju. Nemojte koristiti kratka imena, bolje je da uz prezime koristite ime. Na Internetu postoji mnogo resursa gdje se prikupljaju najpopularniji podaci za prijavu. Upoznajte se s njima i nikada ih ne koristite;
  • Postavite složenu lozinku administratora web lokacije. Složena lozinka mora sadržavati velika i mala slova, brojeve i dodatne simbole kao što su "* - _ # :", itd. Dužina lozinke nije manja od 6 karaktera. Po mogućnosti 10 i više.

Kako ukloniti obrazac HTTP Basic Authentication?

Da biste uklonili HTTP obrazac za osnovnu autentifikaciju:

AuthType Basic AuthName "molim koristite lozinku svoje kontrolne table" AuthUserFile .../users Zahtijevajte valid-user

Da biste komentarisali red, stavite heš simbol (“#”) na početak reda, ovako.

Trebat će nam sljedeće stranice:

  • Stranica za registraciju sa formularom za registraciju
  • Stranica za aktivaciju naloga
  • Stranica za oporavak lozinke
  • Stranica za poništavanje lozinke

Obrazac za prijavu na web stranicu bit će postavljen na sve stranice stranice (na primjer, u zaglavlju).

Ovo je stranica za registraciju koju želimo dobiti:

Ovdje će tip računa odrediti u koju grupu ćemo registrirati korisnika. Također, polje za identifikaciju (korisničko ime) će biti email.

Dodajte isječak poziva na stranicu Registrirajte se:

[[!Registracija? &submitVar=`register-btn` &activationResourceId=`27` &activationEmailTpl=`Email.Activation` &activationEmailSubject=`Registrirani ste na example.com` &placeholderPrefix=`reg.` &successMsg=`

Hvala na registraciji. Na Vaš email [[!+reg.email]] Poslan je email sa linkom za aktivaciju vašeg naloga. Slijedite ovaj link kako biste dovršili registraciju.
` &usernameField=`email` &usergroupsField=`reg_type` &customValidators=`valueIn` &validate=`username:blank, reg_type:valueIn=^Readers;Writers;Idlers ^, fullname:required:minLength=^6:min password =^6^, password_confirm:password_confirm=^password^, email:required:email` ]] [[!+error.message:default=`[[!$Register.Form]]`]]

Imajte na umu da su sve oznake vezane za registraciju obavezne Nužno poziv nije keširan. Ista pravila vrijede kada obrađujete obrasce s isječkom FormIta.

Pogledajmo parametre poziva:

&submitVar=`registar-btn`- specificira naziv atributa oznake unos. Odnosno, isječak će raditi samo ako je obrazac poslat s gumbom s određenim imenom.

&activationResourceId=`42`- gledajući unaprijed, 42 je identifikator stranice na kojoj ćemo aktivirati korisnika.

&activationEmailTpl=`Email.Aktivacija`- komad sa aktivacijskim pismom, više o tome kasnije.

&placeholderPrefix=`reg.`- označava da svi čuvari mjesta, s rijetkim izuzecima (više o tome kasnije), koji su kreirani u ovom isječku moraju početi sa "reg."

&successMsg– poruka koja će se prikazati nakon uspješnog podnošenja obrasca. Imajte na umu da može sadržavati vrijednosti iz obrasca i bilo koje druge oznake. Ova poruka prijavite se za rezervirano mjesto [[!+error.message]]. Prilično čudno ime, a u dokumentaciji za ovog trenutka greška. To je tamo zapisano [[!+reg.error.message]], ali iz koda komponente proizlazi da to nije slučaj.

&usernameField=`e-pošta`- specificira da će se polje e-pošte koristiti kao korisničko ime.

&usergroupsField=`reg_type`- definira polje koje specificira grupu u koju će se dodati novi korisnik.

&customValidators=`valueIn`- specificira dodatne validatore koje je potrebno kreirati ručno.

&potvrdi– validatori su specificirani zarezima za svako polje, a ako je za jedno polje potrebno više validatora, oni su također odvojeni dvotočkom. Pogledajmo ih odvojeno:

korisničko ime:prazno– jednostavna spam zamka, to znači da polje korisničkog imena treba ostaviti prazno.

reg_type:valueIn=^Čitaoci;Pisci;Idleri^- ograničavamo moguće grupe na tri navedene. Toga nema u početnoj distribuciji i zli hakeri se mogu registrirati, na primjer, pod grupom Administrator (ako je niste preimenovali).

fullname:required:minLength=^6^- polje punog imena ne smije biti prazno i ​​sadržavati najmanje 6 znakova.

password:required:minLength=^6^- slično za lozinku.

password_confirm:password_confirm=^password^- Lozinke se moraju podudarati.

email:obavezno:e-pošta– email ne smije biti prazan i biti stvarna pošta.

Dizajn [[!+error.message:default=`[[!$Register.Form]]`]] prikazuje poruku o uspješnom podnošenju obrasca ili dijela obrasca ako ste upravo posjetili stranicu ili je pogrešno ispunili.

Kreirajmo gornji validator valueIn. Da biste to učinili, kreirajte isječak s imenom valueIn i sljedeći kod:

$valueIn = explode(";", $param); return in_array($value, $valueIn);

Sada morate kreirati komad Register.Form . U ovom slučaju to će biti kako slijedi (koristi se Bootstrap 3):

[[!+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]]
`]]

Sva polja su obavezna

U ovom obliku ću napomenuti nekoliko stvari u vezi sa MODX-om:


– obrazac se obrađuje na istoj stranici na kojoj je prikazan.

Podešavanje vrijednosti od onih primljenih iz obrasca tako da u slučaju neuspjeha korisnik ne mora ponovo sve unositi.

[[!+reg.error.email:notempty=`[[!+reg.error.email]]`]]– opet, u slučaju kvara, ispod polja će se prikazati poruka o grešci.

– obavezno naznačite naziv dugmeta ako ste prethodno postavili svojstvo &submitVar.


Sada ostaje samo da napravite komad Email.Activation sa pismom koje sajt šalje korisniku:

Hvala na registraciji! Da aktivirate svoj račun, posjetite sljedeći link:

Aktivirajte svoj račun na Example.Com

Nakon aktivacije, moći ćete se prijaviti koristeći svoj email i lozinku:

Ulogovati se:[[+e-pošta]]

Lozinka:[[+lozinka]]


Ovdje možete koristiti čuvare mjesta s nazivima polja obrasca. Imajte na umu da su napisani bez "reg." Dodan je i čuvar mjesta [[+confirmUrl]], u kojem je link za aktivaciju već generiran, ne morate ništa učiniti.


Završni dodir umjetnosti registracije novog računa pomoću komponente Ulogovati se bit će kreirana stranica za aktivaciju. Za ovu stranicu koristimo prazan predložak, au sadržaju stranice trebate samo navesti poziv oznake:

[[!ConfirmRegister? &redirectTo=`1`]]

gdje je 1 identifikator stranice na koju će korisnik biti preusmjeren ako je aktivacija uspješna. U ovom slučaju, on će već biti prijavljen.


Počnimo sa podešavanjem prijave na korisnički profil. Obrazac autorizacije će biti jednostavan:

Dodajmo ga tako što ćemo ga nazvati na pravom mjestu:

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

Ovdje specificiramo dio sa formom za prijavu koja je nacrtana iznad ( &loginTpl=`Auth.Login`), komad sa kodom koji se prikazuje ovlaštenim korisnicima ( &logoutTpl=`Auth.Logout`), mali komad s izlazom greške pri prijavi ( &errTpl=`Auth.Login.Error`). Sljedeći su parametri:

&actionKey=`akcija` I &loginKey=`prijava`- glavni identifikatori za obradu zahtjeva. Prvi označava ime parametra u POST zahtjevu, a drugi njegovu vrijednost. To jest, obrazac mora proći vrijednost $_POST["action"]="login" tako da isječak Ulogovati se obradio.

&redirectToPrior=`1`- znači da ćemo nakon prijave biti premješteni na istu stranicu sa koje smo ušli.

&logoutResourceId=`1`- prilikom napuštanja profila idemo na stranicu sa ID 1.


Chunk Auth.Login :

[[!+greške]]

Obrazac se obrađuje na istoj stranici. Ako dođe do greške, ona će biti prikazana ispod obrasca u čuvaru mjesta [[!+greške]]. Također morate zapamtiti veze do resursa s registracijom i obnavljanjem lozinke. Imajte na umu da je u polju e-pošte ime = "korisničko ime" - upravo u ovom polju isječak je duplirao email Registrirajte se, a jedinstven je za korisnike.


Chunk Auth.Logout:

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

Izađi iz profila

Ovaj dio nije neophodan ako su svi korisnici u istoj grupi. Ali za prikaz korisničke grupe, standardni isječci uključeni u komponentu Prijava nisu dovoljni. Možete napisati jednostavan isječak da biste dobili ime grupe xPDO, ili možete koristiti gotov isječak pdoUsers uključeno u paket pdoTools. Parametri navedeni u ovom isječku:

&korisnici=`[[+modx.user.id]]`- odaberite samo trenutnog ovlaštenog korisnika.

&tpl=`User.HeaderBadge`- dio u kojem ćemo prikazati kratke informacije o korisniku.

&innerJoin– JSON sa spojevima tablica korisničkih grupa, opis je izvan okvira članka. Glavna stvar je da radi J.

&odaberi– JSON koji odabiru dodaje polje modUserGroup.name sa aliasom group_name.


Komad s korisničkom značkom User.HeaderBadge :

Prijavljeni ste kao [[+naziv_grupe]][[+puno ime]] Lični račun

Ako nam nije bila potrebna korisnička grupa, onda bi sadržaj ovog dijela mogao biti umetnut direktno u dio Auth.Logout . Ovdje možete prikazati čuvare mjesta sa bilo kojim poljima modUser i modUserProfile plus korištenje pdoUsers polje dodano ime_grupe.


U komadu Auth.Login.Error jednostavan izlaz greške:

[[+msg]]

Završili smo sa prijavom. U ovom trenutku, korisnik se može registrirati i uspješno prijaviti. Ali šta ako je zaboravio svoju lozinku? U tom slučaju, on klikne na vezu "Zaboravili ste lozinku?" i ide na stranicu za oporavak lozinke koju prvo kreiramo i tamo pozivamo:

[[!Zaboravili ste lozinku? &tpl=`Auth.ForgotPass.Form` &submitVar=`forgotpass` &errTpl=`Auth.Login.Error` &sentTpl=`Auth.ForgotPass.Sent` &emailTpl=`Email.ForgotPass` &emailSubject=`Vraćanje vašeg naloga na primjer web stranica. Com` &resetResourceId=`29`]]

Pogledajmo parametre ovog poziva:

&tpl=`Auth.ForgotPass.Form`- dio obrasca u koji će korisnik unijeti svoju e-poštu.

&submitVar=`zaboravljen prolaz`- u slučaju isječka ForgotPassword dovoljno je da se serveru proslijedi parametar sa istim imenom i bez obzira na nepraznu vrijednost.

&errTpl=`Auth.Login.Error` - izlaz greške sličan isječku za prijavu

&sentTpl=`Auth.ForgotPass.Sent`- ovaj dio sadrži sadržaj koji će biti prikazan ako se e-mail za promjenu lozinke uspješno pošalje.

&emailTpl=`Email.ForgotPass`- samo pismo se nalazi ovdje.

&predmet e-pošte=`Vraćanje pristupa vašem nalogu na veb lokaciji Example.Com` - naslov pisma.

&resetResourceId=`29`- identifikator resursa na kojem će se lozinka vratiti na novu.


Chunk Auth.ForgotPass.Form:

[[+loginfp.errors]]

Jedina nova stvar ovdje je drugačiji način prikaza grešaka u rezerviranom mjestu [[+loginfp.errors]] i prosljeđivanje parametra da ovaj određeni obrazac resetuje lozinku: .

Auth.ForgotPass.Sent:

Informacije o oporavku računa su poslane na navedenu e-poštu: [[+e-pošta]].

Podatke iz gornjeg obrasca možete koristiti ovdje.


Email.ForgotPass:

[[+puno ime]],

Za aktiviranje nove lozinke posjetite sljedeći link:

Želim novu lozinku

Ako je sve prošlo kako treba, moći ćete se prijaviti na svoj profil koristeći sljedeće podatke:

Ulogovati se:[[+korisničko ime]]

Lozinka:[[+lozinka]]

Hvala ti,
Administracija stranice Example.Com

Sve je vrlo slično komadu aktivacionog pisma, samo se lozinka ovdje generira u isječku.


Posljednji korak je kreiranje resursa na koji će korisnik otići iz e-pošte da ažurira lozinku. U ovom resursu nam je potreban poziv:

[[!ResetPassword:empty=`

Niste naručili resetiranje lozinke. Možda imate pogrešnu adresu. Možete otići na glavnu stranicu stranice ili koristiti gornji meni.

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

Ovaj kod će prikazati poruku ako neko iznenada ponovo posjeti ovu stranicu ili samo slučajno. A ako je lozinka uspješno resetirana, iz dijela će se prikazati poruka Auth.ForgotPass.Reset:

Vaša lozinka je uspješno vraćena na onu navedenu u e-poruci. Sada se možete prijaviti sa ovom lozinkom. Ne zaboravite to promijeniti u svom profilu.

Sada imamo potpuno funkcionalan sistem autorizacije i registracije korisnika. Promjena profila ovlaštenih korisnika ostaje izvan okvira ovog članka.


1. Kreirajte stranicu za registraciju i dodajte joj isječak poziva Registrirajte se.

2. Kreirajte dijelove s obrascem za registraciju Register.Form i aktivacijsko pismo Email.Activation.

3. Kreirajte stranicu za potvrdu registracije i uputite poziv isječka na nju ConfirmRegister.

4. Dodajte poziv s isječkom Ulogovati se gdje želimo postaviti obrazac za prijavu i bedž ovlaštenog korisnika.

5. Kreirajte dio sa formularom za prijavu Auth.Login , dio s informacijama o ovlaštenom korisniku Auth.Logout , komad s porukom o grešci Auth.Login.Error .

6. Kreirajte stranicu za oporavak lozinke i uputite poziv isječka na nju Zaboravili ste lozinku.

7. Kreirajte komad Auth.ForgotPass.Form sa obrascem za oporavak lozinke, komad Auth.ForgotPass.Sent sa porukom o uspješnom slanju pisma, komad Email.ForgotPass sa emailom za poništavanje lozinke.

8. Kreirajte resurs sa konačnim poništavanjem lozinke i postavite poziv isječka u njega Reset lozinke.

9. Kreirajte komad Auth.ForgotPass.Reset sa porukom koja pokazuje da je lozinka uspješno resetirana.

To je sve. Bit će mi drago svim dopunama i komentarima.

Prilikom izrade web aplikacija važno je ozbiljno shvatiti sigurnost, posebno kada se morate pozabaviti dobivanjem podataka od korisnika.

Opće sigurnosno pravilo je da nikome ne vjerujete, tako da se ne možete osloniti na korisnike da uvijek unose ispravne vrijednosti u obrasce. Na primjer, umjesto da unese ispravnu adresu e-pošte u polje, korisnik može unijeti netačnu adresu ili čak neke zlonamjerne podatke.

Kada je u pitanju validacija korisničkih podataka, to se može obaviti ili na strani klijenta (u web pretraživaču) ili na strani servera.

Ranije se provjera valjanosti na strani klijenta mogla obaviti samo pomoću JavaScripta. Ali sve se promijenilo (ili se skoro promijenilo), budući da se uz pomoć HTML5 validacija može obaviti u pretraživaču, bez potrebe za pisanjem složenih validacijskih skripti u JavaScriptu.

Provjera valjanosti obrasca korištenjem HTML5

HTML5 pruža prilično robustan mehanizam zasnovan na sljedećim atributima oznaka : tip, uzorak i zahtijevaju. Sa ovim novim atributima, možete prenijeti neke od funkcionalnosti provjere valjanosti podataka u pretraživač.

Pogledajmo ove atribute da bismo razumjeli kako oni mogu pomoći kod provjere valjanosti obrasca.

type atribut

Ovaj atribut govori koje polje unosa treba prikazati za obradu podataka, na primjer poznato polje poput

Neka polja za unos već pružaju standardne metode validacije, bez potrebe za pisanjem dodatnog koda. Na primjer, provjerava polje kako bi se uvjerio da unesena vrijednost odgovara predlošku važeće adrese e-pošte. Ako se u polje unese netačan znak, obrazac se ne može poslati dok se vrijednost ne ispravi.

Pokušajte se poigrati sa vrijednostima polja e-pošte u demonstraciji ispod.

Postoje i drugi standardni tipovi polja, npr , I za provjeru valjanosti brojeva, URL-ova i brojeva telefona, respektivno.

Napomena: Formati telefonskih brojeva razlikuju se od zemlje do zemlje zbog razlika u broju cifara telefonskih brojeva i razlika u formatima. Kao rezultat toga, specifikacija ne definira algoritam za provjeru telefonskih brojeva, tako da je u vrijeme pisanja ova funkcija slabo podržana od strane pretraživača.

Na našu sreću, provjera valjanosti telefonskog broja može se obaviti pomoću atributa uzorka, koji uzima regularni izraz kao argument, što ćemo pogledati sljedeće.

atribut uzorka

Atribut uzorka će vjerovatno natjerati mnoge front-end programere da skaču od radosti. Ovaj atribut prihvata regularni izraz (sličan JavaScript formatu regularnog izraza) koji će se koristiti za provjeru ispravnosti podataka unesenih u polje.

Regularni izrazi su jezik koji se koristi za raščlanjivanje i manipulaciju tekstom. Često se koriste za složene operacije pronalaženja i zamjene, kao i za provjeru ispravnosti unesenih podataka.

Danas su regularni izrazi uključeni u najpopularnije programske jezike, kao i u mnoge skriptne jezike, uređivače, aplikacije, baze podataka i uslužne programe komandne linije.

Regularni izrazi (RegEX) su moćan, sažet i fleksibilan alat za usklađivanje niza teksta, kao što su pojedinačni znakovi, riječi ili obrasci znakova.

Prenošenjem regularnog izraza kao vrijednosti atributa uzorka, možete odrediti koje su vrijednosti prihvatljive za dato polje za unos, kao i obavijestiti korisnika o greškama.

Pogledajmo nekoliko primjera korištenja regularnih izraza za provjeru vrijednosti polja za unos.

Brojevi telefona

Kao što je ranije spomenuto, tip polja tel nije u potpunosti podržan od strane pretraživača zbog nedosljednosti u formatima telefonskih brojeva u različitim zemljama.

Na primjer, u nekim zemljama format telefonskih brojeva je predstavljen kao xxxx-xxx-xxxx , a sam telefonski broj će biti otprilike ovako: 0803-555-8205 .

Regularni izraz koji ovaj obrazac odgovara je: ^\d(4)-\d(3)-\d(4)$ . U kodu se ovo može napisati ovako:

Alfanumeričke vrijednosti

potreban atribut

Ovo je Boolean atribut koji se koristi za označavanje da vrijednost datog polja mora biti popunjena da bi se obrazac poslao. Kada dodate ovaj atribut u polje, pretraživač će zahtijevati od korisnika da popuni ovo polje prije slanja obrasca.

Ovo nas štedi od implementacije validacije polja pomoću JavaScripta, što programerima može uštedjeti neko vrijeme.

Na primjer: ili (za XHTML kompatibilnost)

Sve demonstracije koje ste vidjeli iznad koriste traženi atribut, tako da ga možete isprobati pokušajem da pošaljete obrazac bez popunjavanja polja.

Zaključak

Podrška pretraživača za validaciju obrasca je prilično dobra, a za starije pretraživače možete koristiti polifile.

Vrijedi napomenuti da je oslanjanje samo na validaciju na strani pretraživača opasno, jer napadači ili botovi mogu lako zaobići ove provjere.

Ne podržavaju svi pretraživači HTML5 i neće svi podaci poslati vašoj skripti doći iz vašeg obrasca. To znači da je prije konačnog prihvatanja podataka od korisnika potrebno provjeriti njihovu ispravnost na strani servera.

„Zaštita od budale“ je skup mjera za sprječavanje unosa netačnih podataka u obrazac. Na primjer, ako trebate unijeti pozitivan broj od 0 do 10 u polje, provjerite da korisnik ne unosi tekst ili broj koji ne leži u navedenom rasponu, tj. broj ne bi trebao biti manji od nule i veći od deset.

Zašto se unose netačni podaci? To se uglavnom radi iz tri razloga.

  1. Korisnik je slučajno napravio grešku, na primjer, nepažljivo je pročitao ono što je morao navesti.
  2. Web stranica traži podatke na dvosmislen način, ostavljajući korisnika da nagađa i nagađa šta zaista želi. Međutim, mišljenja programera i korisnika ne poklapaju se uvijek.
  3. Postoji veliki broj ljudi koji instrukcije doživljavaju kao izazov i pokušavaju učiniti suprotno. Takvi korisnici rezonuju otprilike ovako: „Da, traže od mene da unesem broj. Šta će se dogoditi ako naznačim slova?” Onda traže očito netačne informacije i vide čemu to vodi.

Treba shvatiti da precizna i ispravna formulacija, iako smanjuje vjerovatnoću grešaka, vas ni na koji način ne spašava od njih. Samo tehnička sredstva na strani servera omogućavaju vam da dobijete traženi rezultat i izbjegnete unos netačnih podataka. Međutim, revizija ili, kako se još naziva, validacija na strani klijenta omogućava vam da brzo provjerite ispravnost podataka koje je unio korisnik, bez slanja obrasca na server. Ovo štedi vrijeme korisnika i smanjuje opterećenje na serveru. Sa stanovišta upotrebljivosti, tu su i prednosti - korisnik odmah dobija poruku koje podatke je pogrešno uneo i može ispraviti svoju grešku.

Obavezno polje

Neka polja obrasca moraju biti popunjena prije nego što se pošalju na server. Ovo se, na primjer, odnosi na obrazac za registraciju, gdje se od vas traži da unesete login i lozinku. Da biste specificirali obavezna polja, koristite potrebni atribut, kao što je prikazano u primjeru 1.

Primjer 1. Traženi atribut

HTML5 IE 10+ Cr Op Sa Fx

Obavezno polje

Ulogovati se:

Lozinka:

Obavezna polja moraju biti popunjena prije slanja obrasca, inače obrazac neće biti poslan serveru i pretraživač će o tome izdati upozorenje. Tip poruke zavisi od pretraživača, na primer Chrome prikazuje tooltip kao što je prikazano na Sl. 1.

Rice. 1. Obavezno polje nije popunjeno

Ispravnost podataka

U početku postoje dva polja u kojima se korisnički unos provjerava automatski. Ovo je web adresa i adresa e-pošte. Chrome također provjerava valjanost polja kalendara, ali samo zato što nema sučelje klikni za kalendar. Na ove elemente važe sljedeća pravila.

  • Web adresa ( ) mora sadržavati protokol (http://, https://, ftp://).
  • E-mail adresa ( ) mora sadržavati slova ili brojeve prije simbola @, poslije njega, zatim tačku i domen prvog nivoa.

Preglednici imaju malo drugačiju politiku za provjeru korisničkih podataka. Na primjer, Opera automatski ubacuje http:// protokol ispred unesenog teksta, dok drugi pretraživači to čekaju od korisnika. Chrome i Opera zahtijevaju tačku u adresi e-pošte; Firefox to ne zahtijeva.

Primjer 2 prikazuje obrazac sa obaveznim poljima u kojima su dva polja potvrđena od strane pretraživača.

Primjer 2: Ispravnost podataka

HTML5 IE 10+ Cr Op Sa Fx

Ispravnost podataka

Popunite formular (sva polja su obavezna)

ime:

Email:

web stranica:

Opera samo provjerava element obrasca ako ima atribut name.

Šta se dešava u Operi kada unesete netačne podatke prikazano je na Sl. 2.

Rice. 2. Upozorenje o netačnim podacima

Predložak za unos

Neki podaci se ne mogu klasificirati u jedan od tipova elemenata obrasca, tako da za njih morate koristiti tekstualno polje. Istovremeno se unose prema određenom standardu. Dakle, IP adresa sadrži četiri broja odvojena tačkom (192.168.0.1), poštanski broj Rusije je ograničen na šest cifara (124007), telefonski broj sadrži pozivni broj i određeni broj cifara, često odvojenih crtica (391 555-341-42) itd. Pregledač treba da navede šablon za unos kako bi proveravao podatke koje je korisnik uneo prema njemu. Da biste to učinili, koristi se atribut uzorka, a njegova vrijednost je regularni izraz. Neke tipične vrijednosti su navedene u tabeli. 1.

Primjer 3 traži od vas da unesete heksadecimalnu vrijednost boje (#ffcc00) i ako nije u ovom rasponu, pretraživač prikazuje poruku o grešci.

Primjer 3. Predložak unosa

HTML5 IE 10+ Cr Op Sa Fx

Unos boje

Unesite heksadecimalnu vrijednost boje (mora početi s #)

Na sl. Slika 3 prikazuje upozorenje u Chrome pretraživaču.

Rice. 3. Uneseni podaci ne odgovaraju predlošku

Poništavanje valjanosti

Validacija nije uvijek potrebna za obrazac; na primjer, programer će htjeti koristiti univerzalno JavaScript rješenje i više mu neće trebati duplikat provjere od strane pretraživača. U takvim slučajevima morate onemogućiti ugrađenu provjeru valjanosti. Da biste to učinili, koristite novalidate atribut oznake

. Primjer 4 pokazuje upotrebu ovog atributa.

Primjer 4: Poništavanje valjanosti

HTML5 IE 10+ Cr Op Sa Fx

novalidate atribut

U sličnu svrhu koristi se atribut formnovalidate, koji se dodaje gumbu za podnošenje obrasca, u ovom slučaju oznaci . U ovom slučaju, obrazac iz primjera 4 će izgledati ovako.