Ch 6 potrebna je prijava imenom. Sigurnost korisničkih podataka. Rješenja za problem “Ups, došlo je do pogreške” na Instagramu

Objavljeno 23. listopada u 23:15.

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

Kao dodatnu sigurnosnu mjeru, nudimo vam sustav provjere korisničkog imena kako bismo poboljšali sigurnost računa na određenim EA stranicama, uključujući stranicu vašeg EA računa.

  • Pažnja FIFA igračima: ovu funkciju potreban za pristup FIFA Ultimate Team poslužiteljima i partnerskim aplikacijama.

Ova sigurnosna mjera osmišljena je kako bi spriječila ljude da se prijave na vaš EA račun s nepoznatih uređaja bez lozinke i potvrde vašeg korisničkog imena. Obavijesti će biti poslane na vaš mobilni telefon ili e-mail po vašem izboru. Tijekom procesa provjere korisničkog imena, privremeno digitalni kodovi pristup za svakog određenog korisnika potreban za prijavu na račun s nepoznatog uređaja.


Omogući provjeru korisničkog imena

1. Idite na ea.com i prijavite se.

2. Kliknite svoje korisničko ime, zatim odaberite "Moj račun".

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

4. Kliknite Omogući kako biste omogućili provjeru korisničkog imena, unesite svoje sigurnosno pitanje i odaberite jednu od opcija: e-pošta, aplikacija za identifikaciju ili SMS za primanje kontrolnog koda.

  • Ako odaberete opciju " E-mail” umjesto SMS-a, provjerite je li adresa e-pošte navedena za vaš račun valjana i radna adresa koju redovito provjeravate za nove poruke.
  • Aplikacija za identifikaciju za tablete i mobilne telefone omogućuje vam generiranje kontrolnih kodova na tim uređajima za prijavu na vaš račun.
  • Odaberite vrstu uređaja s padajućeg popisa i preuzmite Google Authenticator za Apple i Android uređaje ili Authenticator za uređaje koji koriste operacijski sustav Windows.
  • Igrači FIFA-e 15 na PlayStationu 3 i Xboxu 360 neće morati poduzimati dodatne sigurnosne mjere kada provjeravaju svoje korisničko ime pomoću aplikacije za autentifikaciju.

5. Sada ćete dobiti kontrolni kod kada se pokušate prijaviti s nepoznatog uređaja. Svakih 90 dana primit ćete kontrolni kod kada se prijavite na svoj račun s pouzdanih uređaja. Na ovaj način samo vi možete pristupiti svom EA računu pomoću jedinstvenog koda.


Ako je potrebno, možete onemogućiti potvrdu korisničkog imena tako da se vratite na svoju stranicu za upravljanje računom i odaberete Onemogući.*

Bilješka

  • *Nemojte onemogućiti provjeru korisničkog imena ako igrate FIFA Ultimate Team, inače će vam biti uskraćen pristup.
  • Provjerite jeste li također izradili i potvrdili sigurnosno pitanje i odgovor za FIFA Ultimate Team.

Postavite svoju identifikacijsku aplikaciju

Aplikacija za identifikaciju je najviše brz način sigurno potvrdite svoj identitet. Postavite aplikaciju za identifikaciju na svom mobilni uređaj za prijavu pomoću koda koji generira za identifikaciju u dva koraka.

1. Otvorite karticu Sigurnost na stranici Moj račun i pronađite odjeljak Provjera korisničkog imena.

2. Pritisnite Omogući da omogućite provjeru korisničkog imena, odgovorite na sigurnosno pitanje, odaberite aplikaciju identiteta i kliknite Nastavi.

3. Odaberite operativni sustav telefona koji vam je potreban s padajućeg popisa i skenirajte QR kod pomoću aplikacije za čitanje crtičnog koda ili potražite autentifikator u trgovini aplikacija za svoj telefon za odgovarajuću aplikaciju: Google Authenticator na Androidu i iOS-u ili Autentifikator na Windowsu Telefon.

4. Otvorite aplikaciju za identifikaciju i odaberite opciju za ručno dodavanje računa.

5. Skenirajte QR kod ili unesite tajna šifra za povezivanje vaše aplikacije identiteta s vašim EA računom.

6. Završite postavljanje aplikacije za identifikaciju unosom koda koji je ona generirala za vaš Electronic Arts račun i klikom na "Omogući provjeru korisničkog imena".

Kada ubuduće trebate potvrditi svoje korisničko ime:

1. Otvorite aplikaciju za identifikaciju.

2. Unesite šesteroznamenkasti kod za svoj račun Electronic Arts.

Generirani kod vrijedi ograničeno vrijeme. Ako je vaš trenutni kod već pred istekom, pričekajte da aplikacija generira novi kod kako biste imali dovoljno vremena da ga unesete.

Što trebam učiniti ako ga ne mogu koristiti? mobitel ili e-poštom kada trebam kod? Je li moguće generirati kodove pomoći?

Ako vaš telefon, osobna iskaznica ili elektronička pošta nisu vam dostupni, jedini način Prijava na EA račun s nepoznatog računala - korištenje kodova pomoći. Pohranite ih na sigurno i vama dostupno mjesto. Ove kodove možete vidjeti i ažurirati na svom EA računu u postavkama privatnosti u Origin klijentu ili na mreži.

  • Kliknite na “Sigurnost”, zatim “Prikaz” i “Kodovi pomoći”.*
  • Također možete koristiti značajku "Zatražite novi kod nakon prijave u FIFA Ultimate Team".

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

Potvrdi kontakt informacije kako biste bili sigurni da je kod točan.

Ako imate poteškoća s kodom za provjeru korisničkog imena, 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 slanje koda na svoju e-poštu kada ste aktivirali potvrdu korisničkog imena, možete provjeriti i ažurirati svoju adresu e-pošte u odjeljku O meni na stranici za upravljanje računom ili putem Origin klijenta.
  • Ako odaberete aplikaciju Identity, možete koristiti crtični kod ili QR kod za skeniranje i traženje koda između ?secret= i &.
  • Ako ste prilikom aktivacije provjere korisničkog imena odabrali opciju slanja koda putem SMS-a, možete provjeriti i ažurirati svoj telefonski broj u odjeljku Sigurnost na stranici za upravljanje vašim računom ili putem klijenta Origin.
  • Stvorite ili potvrdite sigurnosno pitanje i odgovorite.

Nakon što potvrdite svoje podatke za kontakt, imat ćete opciju omogućiti potvrdu korisničkog imena za primanje novog koda.

Zašto sam dobio ovaj obrazac?

Trenutno je na vašoj web stranici brute-force napad. Brute-force napad je napad pogađanjem lozinke. U ovom slučaju odabire se lozinka za administrativnu ploču vaše stranice.

Kako bismo spriječili hakiranje vaše stranice i povećali njezinu sigurnost, instalirali smo dodatnu zaštitu.

Kako sada mogu pristupiti administratorskoj ploči stranice?

Sada, kada pristupate administrativnoj ploči vaše stranice (na Joomli ili WordPressu), pojavit će se dodatni prozor za unos vašeg korisničkog imena i lozinke s natpisom "molimo koristite lozinku svoje kontrolne ploče". Kao prijavu morate unijeti prijavu svoje usluge hostinga, izgleda tako "u1234567". Lozinka je trenutna lozinka za vašu uslugu hostinga.

Nakon što prođete osnovnu HTTP provjeru autentičnosti, vidjet ćete standardno polje za prijavu u administratorskoj ploči svoje stranice. Sada ćete morati unijeti prijavu i lozinku administratora stranice.

Kako radi HTTP osnovna provjera autentičnosti

Prilikom unosa lozinke za prijavu u prozor osnovne provjere autentičnosti, vrijednost prijave i lozinka hash uspoređivat će se s vrijednostima u posebnoj datoteci ~/etc/korisnici, dostupan na upravljačkoj ploči vašeg hostinga. Sadržaj datoteke izgleda otprilike ovako: "u1234567:dm48bspxIO3rg". Gdje je “u1234567” prijava, a “dm48bspxIO3rg” je lozinka hash(napomena: samo hash, ne sama lozinka!). Raspršivač lozinke rezultat je pretvaranja lozinke pomoću određenog algoritma.

Dakle, kada unesete svoju prijavu i lozinku u prozor osnovne provjere autentičnosti, unesena lozinka se preuzima iz hash i uspoređuje s hash vrijednošću u datoteci ~/etc/korisnici. Ako se vrijednosti podudaraju, autentificirani ste.

Ne mogu proći osnovnu provjeru autentičnosti

Vjerojatno unosite krivu lozinku. Postavite novu lozinku za osnovnu autentifikaciju:

Ako ste prošli osnovnu autentifikaciju, ali se ne možete prijaviti izravno na administrativnu ploču svoje Joomla ili WordPress stranice, koristite pomoć:

Kako povećati zaštitu svoje web stranice od Brute-force napada?

Za povećanje sigurnosti stranice:

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

Kako ukloniti obrazac HTTP Basic Authentication?

Za uklanjanje obrasca HTTP Basic Authentication:

AuthType Basic AuthName "molimo upotrijebite lozinku svoje upravljačke ploče" AuthUserFile .../users Zahtijeva valid-user

Da biste komentirali redak, stavite simbol hash ("#") na početak retka, ovako.

Trebat će nam sljedeće stranice:

  • Stranica za registraciju s obrascem za registraciju
  • Stranica za aktivaciju računa
  • Stranica za oporavak lozinke
  • Stranica za ponovno postavljanje lozinke

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

Ovo je stranica za registraciju koju želimo dobiti:

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

Dodajte isječak poziva na stranicu Registar:

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

Hvala što ste se registrirali. Na Vaš email [[!+reg.e-mail]] E-pošta je poslana s vezom za aktivaciju vašeg računa. Slijedite ovu vezu 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^, password:required:minLength =^6^, password_confirm:password_confirm=^password^, email:required:email` ]] [[!+error.message:default=`[[!$Register.Form]]`]]

Napominjemo da su potrebne sve oznake povezane s registracijom Obavezno poziv bez predmemoriranja. Ista pravila vrijede za obradu obrazaca s FormIt isječkom.

Pogledajmo parametre poziva:

&submitVar=`register-btn`- specificira atribut imena oznake ulazni. Odnosno, isječak će raditi samo ako je obrazac poslan s gumbom s određenim nazivom.

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

&activationEmailTpl=`E-mail.Activation`- dio s aktivacijskim pismom, više o tome kasnije.

&placeholderPrefix=`reg.`- označava da sva rezervirana mjesta, uz rijetke iznimke (više o tome kasnije), koja su stvorena u ovom isječku moraju započeti s "reg."

&uspjeh Msg– poruka koja će se prikazati nakon uspješnog slanja 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]]. Dosta čudan naziv, a u dokumentaciji za ovaj trenutak greška. Tamo je napisano [[!+reg.error.message]], ali iz koda komponente proizlazi da to nije slučaj.

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

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

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

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

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

reg_type:valueIn=^Čitatelji;Pisci;Dokoličari^- moguće grupe ograničavamo na tri navedene. U početnoj distribuciji toga nema i zli hakeri se mogu registrirati npr. pod skupinom Administrator (ako je niste preimenovali).

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

lozinka:potrebno:minLength=^6^- slično za lozinku.

password_confirm:password_confirm=^lozinka^- lozinka mora odgovarati.

email:obavezno:e-mail– email ne smije biti prazan i biti stvarni mail.

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

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

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

Sada morate stvoriti komad Registar.Obrazac . U ovom slučaju bit će 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 ću obrascu napomenuti nekoliko stvari u vezi s MODX-om:


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

Postavljanje vrijednosti od onih primljenih iz obrasca tako da u slučaju greške korisnik ne mora sve ponovno unositi.

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

– svakako navedite naziv gumba ako ste prethodno postavili svojstvo &podnesiVar.


Sada preostaje samo stvoriti komad E-pošta. Aktivacija s pismom koje stranica šalje korisniku:

Hvala na registraciji! Kako biste aktivirali svoj račun, posjetite sljedeću poveznicu:

Aktivirajte svoj račun na Example.Com

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

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

Lozinka:[[+lozinka]]


Ovdje možete koristiti rezervirana mjesta s nazivima polja obrasca. Imajte na umu da su napisani bez "reg." Također se dodaje rezervirano mjesto [[+confirmUrl]], u kojem je aktivacijska poveznica već generirana, ne morate ništa učiniti.


Završni dodir umjetnosti registracije novog računa pomoću komponente Prijaviti se kreirat će se aktivacijska stranica. Za ovu stranicu koristimo prazan predložak, a u sadržaju stranice trebate samo navesti poziv oznake:

[[!PotvrditeRegistraciju? &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 s postavljanjem prijave na korisnički profil. Obrazac za autorizaciju bit će jednostavan:

Dodajmo ga pozivom na pravo mjesto:

[[!Prijaviti se? &loginTpl=`Auth.Login` &logoutTpl=`Auth.Logout` &errTpl=`Auth.Login.Error` &actionKey=`akcija` &loginKey=`prijava` &redirectToPrior=`1` &logoutResourceId=`1`]]

Ovdje navodimo dio s gore nacrtanim obrascem za prijavu ( &loginTpl=`Auth.Login`), dio s kodom koji se prikazuje ovlaštenim korisnicima ( &logoutTpl=`Auth.Logout`), mali dio 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 naziv parametra u POST zahtjevu, a drugi njegovu vrijednost. Odnosno, obrazac mora proći vrijednost $_POST["action"]="login" tako da isječak Prijaviti se obradio ga.

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

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


Chunk Auth.Login :

[[!+pogreške]]

Obrazac se obrađuje na istoj stranici. Ako se pojavi pogreška, bit će prikazana ispod obrasca u rezerviranom mjestu [[!+pogreške]]. Također morate zapamtiti veze na resurse s Registracijom i obnavljanjem lozinke. Imajte na umu da je u polju e-pošte naziv = “korisničko ime” - upravo u ovom polju isječak je duplicirao e-poštu Registar, i 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"))` ]]

Izlaz iz profila

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

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

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

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

&Izaberi– JSON koji odabiru dodaje polje modUserGroup.name s aliasom group_name.


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

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

Ako nam ne treba korisnička grupa, tada se sadržaj ovog dijela može umetnuti izravno u komad Auth.Logout . Ovdje možete prikazati rezervirana mjesta s bilo kojim poljima modUser i modUserProfile plus pomoću pdoUsers polje dodano grupno ime.


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

[[+poruka]]

Završili smo s prijavom. U ovom trenutku korisnik se može uspješno registrirati i prijaviti. Ali što ako je zaboravio lozinku? U tom slučaju klikne na poveznicu "Zaboravili ste lozinku?" i ide na stranicu za oporavak lozinke koju prvo kreiramo i tamo upućujemo poziv:

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

Pogledajmo parametre ovog poziva:

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

&submitVar=`zaboravljena lozinka`- u slučaju isječka ForgotPassword, dovoljno je da se poslužitelju proslijedi parametar s istim nazivom i bez obzira s kojom vrijednošću nije prazna.

&errTpl=`Auth.Login.Error` - ispis pogreške sličan isječku prijave

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

&emailTpl=`Email.ForgotPass`- samo pismo je sadržano ovdje.

&Predmet e-pošte=`Vraćanje pristupa vašem računu na web stranici Example.Com` - naslov pisma.

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


Komad Auth.ForgotPass.Form:

[[+loginfp.errors]]

Jedina nova stvar ovdje je drugačiji način prikazivanja pogrešaka u rezerviranom mjestu [[+loginfp.errors]] i prosljeđivanje parametra da ovaj obrazac poništava lozinku: .

Auth.ForgotPass.Sent:

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

Ovdje možete koristiti podatke iz gornjeg obrasca.


Email.ForgotPass:

[[+puno ime]],

Kako biste aktivirali svoju novu lozinku, posjetite sljedeću poveznicu:

Želim novu lozinku

Ako je sve prošlo u redu, moći ćete se prijaviti na svoj profil pomoću sljedećih podataka:

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

Lozinka:[[+lozinka]]

Hvala vam,
Administracija stranice Primjer.Com

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


Posljednji korak je stvaranje resursa na koji će korisnik otići iz e-pošte za ažuriranje lozinke. U ovom resursu trebamo poziv:

[[!ResetPassword:empty=`

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

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

Ovaj kod će prikazati poruku ako netko iznenada ponovno ili slučajno posjeti ovu stranicu. A ako se lozinka uspješno poništi, prikazat će se poruka iz dijela Auth.ForgotPass.Reset:

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

Sada imamo potpuno funkcionalan sustav autorizacije i registracije korisnika. Promjena profila ovlaštenih korisnika ostat će izvan okvira ovog članka.


1. Napravite stranicu za registraciju i dodajte joj poziv za isječak Registar.

2. Stvorite dijelove pomoću obrasca za registraciju Registar.Obrazac i aktivacijsko pismo E-pošta. Aktivacija.

3. Napravite stranicu za potvrdu registracije i na nju postavite poziv s isječkom Potvrdi registraciju.

4. Dodajte isječak poziva Prijaviti se gdje želimo postaviti obrazac za prijavu i bedž ovlaštenog korisnika.

5. Stvorite dio pomoću obrasca za prijavu Auth.Login , dio s podacima o ovlaštenom korisniku Auth.Logout , dio s porukom o pogrešci Auth.Login.Error .

6. Napravite stranicu za oporavak lozinke i na nju postavite poziv za isječak Zaboravili ste lozinku.

7. Napravite komad Auth.ForgotPass.Form s obrascem za oporavak lozinke, komad Auth.ForgotPass.Sent s porukom o uspješnom slanju pisma, chunk Email.ForgotPass s e-poštom za ponovno postavljanje lozinke.

8. Napravite resurs s konačnim poništavanjem lozinke i u njega postavite poziv isječka Resetiranje lozinke.

9. Napravite komad Auth.ForgotPass.Reset s porukom koja pokazuje da je lozinka uspješno poništena.

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

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

Opće sigurnosno pravilo je da se nikome ne vjeruje, tako da se ne možete osloniti na to da će korisnici uvijek unijeti točne vrijednosti u obrasce. Na primjer, umjesto ispravne adrese e-pošte u polje, korisnik može unijeti netočnu adresu ili čak neke zlonamjerne podatke.

Što se tiče provjere valjanosti korisničkih podataka, to se može učiniti na strani klijenta (u web pregledniku) ili na strani poslužitelja.

Prethodno se provjera valjanosti na strani klijenta mogla izvršiti samo pomoću JavaScripta. Ali sve se promijenilo (ili gotovo promijenilo), budući da se uz pomoć HTML5 validacija može obaviti u pregledniku, bez potrebe za pisanjem složenih validacijskih skripti u JavaScriptu.

Provjera valjanosti obrasca pomoću HTML5

HTML5 pruža prilično robustan mehanizam temeljen na sljedećim atributima oznaka : vrsta , uzorak i zahtjev . S ovim novim atributima možete prenijeti dio funkcionalnosti provjere podataka na preglednik.

Pogledajmo ove atribute da bismo razumjeli kako mogu pomoći pri provjeri valjanosti obrasca.

atribut tipa

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

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

Pokušajte se poigrati s vrijednostima polja e-pošte u demonstraciji u nastavku.

Postoje i druge standardne vrste polja, npr , I za provjeru brojeva, URL-ova i telefonskih brojeva.

Napomena: Formati telefonskih brojeva razlikuju se od zemlje do zemlje zbog razlika u broju znamenki u telefonskim brojevima i razlika u formatima. Kao rezultat toga, specifikacija ne definira algoritam za provjeru telefonskih brojeva, tako da u vrijeme pisanja ove značajke preglednici slabo podržavaju.

Srećom po nas, provjera valjanosti telefonskog broja može se izvršiti pomoću atributa uzorka, koji uzima regularni izraz kao argument, što ćemo pogledati sljedeće.

atribut uzorka

Atribut uzorka vjerojatno će natjerati mnoge front-end programere da poskoče od sreće. Ovaj atribut prihvaća regularni izraz (sličan JavaScript regularnom formatu izraza) koji će se koristiti za provjeru točnosti podataka unesenih u polje.

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

Danas su regularni izrazi uključeni u većinu popularnih programskih jezika, kao iu mnoge skriptne jezike, uređivače, aplikacije, baze podataka i pomoćne programe naredbenog retka.

Regularni izrazi (RegEX) moćan su, koncizan i fleksibilan alat za podudaranje niza teksta, kao što su pojedinačni znakovi, riječi ili uzorci znakova.

Prosljeđivanjem regularnog izraza kao vrijednosti atributa uzorka, možete odrediti koje su vrijednosti prihvatljive za određeno polje unosa, kao i obavijestiti korisnika o pogreš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 u preglednicima zbog nedosljednosti u formatima telefonskih brojeva u različitim zemljama.

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

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

Alfanumeričke vrijednosti

potreban atribut

Ovo je Booleov atribut koji se koristi za označavanje da vrijednost danog polja mora biti ispunjena kako bi se podnio obrazac. Kada dodate ovaj atribut u polje, preglednik će od korisnika zahtijevati da ispuni ovo polje prije podnošenja obrasca.

To nas spašava od implementacije provjere valjanosti polja pomoću JavaScripta, što programerima može uštedjeti vrijeme.

Na primjer: ili (za XHTML kompatibilnost)

Sve demonstracije koje ste vidjeli gore koriste obavezni atribut, pa ga možete isprobati tako da pokušate poslati obrazac bez ispunjavanja polja.

Zaključak

Podrška preglednika za provjeru valjanosti obrazaca prilično je dobra, a za starije preglednike možete koristiti višestruka popunjavanja.

Vrijedno je napomenuti da je oslanjanje samo na provjeru valjanosti na strani preglednika opasno jer te provjere napadači ili botovi mogu lako zaobići.

Ne podržavaju svi preglednici HTML5 i neće svi podaci poslani vašoj skripti doći iz vašeg obrasca. To znači da je prije konačnog prihvaćanja podataka od korisnika potrebno provjeriti njihovu ispravnost na strani poslužitelja.

“Fool protection” je skup mjera za sprječavanje unosa netočnih podataka u obrazac. Na primjer, ako polje zahtijeva unos pozitivnog broja od 0 do 10, tada trebate provjeriti da korisnik ne unese tekst ili broj koji ne leži u navedenom rasponu, tj. broj ne smije biti manji od nule ni veći od deset.

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

  1. Korisnik je slučajno pogriješio, na primjer, nepažljivo je pročitao ono što je trebao navesti.
  2. Web stranica traži podatke na dvosmislen način, ostavljajući korisnika da nagađa i nagađa što zapravo želi. Međutim, mišljenja programera i korisnika ne podudaraju se uvijek.
  3. Postoji niz ljudi koji instrukcije doživljavaju kao izazov i pokušavaju učiniti suprotno. Takvi korisnici razmišljaju otprilike ovako: “Da, traže od mene da unesem broj. Što će se dogoditi ako označim slova?" Zatim traže očito netočne podatke i vide čemu to vodi.

Treba razumjeti da precizan i ispravan tekst, iako smanjuje vjerojatnost pogrešaka, ni na koji način vas ne spašava od njih. Samo tehnička sredstva na strani poslužitelja omogućuju dobivanje traženog rezultata i izbjegavanje unosa netočnih podataka. Međutim, revizija ili, kako se još naziva, provjera valjanosti na strani klijenta omogućuje brzu provjeru točnosti podataka koje je korisnik unio, bez slanja obrasca na poslužitelj. Ovo štedi vrijeme korisnika i smanjuje opterećenje poslužitelja. Sa stajališta upotrebljivosti također ima prednosti - korisnik odmah dobiva poruku o tome koje je podatke pogrešno unio i može ispraviti svoju grešku.

Obavezno polje

Neka polja obrasca moraju biti ispunjena prije slanja na poslužitelj. To se, primjerice, odnosi na obrazac za registraciju, gdje se od vas traži da unesete prijavu i lozinku. Za navođenje obaveznih polja koristite obavezni atribut, kao što je prikazano u primjeru 1.

Primjer 1. Traženi atribut

HTML5 IE 10+ Cr Op Sa Fx

Obavezno polje

Prijaviti se:

Lozinka:

Obavezna polja moraju biti ispunjena prije slanja obrasca, inače obrazac neće biti poslan na poslužitelj, a preglednik će o tome izdati upozorenje. Vrsta poruke ovisi o pregledniku, na primjer Chrome prikazuje opis alata kao što je prikazano na sl. 1.

Riža. 1. Obavezno polje nije popunjeno

Ispravnost podataka

U početku postoje dva polja u kojima se korisnički unos automatski provjerava. 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. Za ove elemente vrijede sljedeća pravila.

  • Web adresa ( ) mora sadržavati protokol (http://, https://, ftp://).
  • Email adresa ( ) mora sadržavati slova ili brojke prije simbola @, nakon njega, zatim točku i domenu prve razine.

Preglednici imaju malo drugačija pravila za provjeru korisničkih podataka. Na primjer, Opera automatski umeće http:// protokol ispred unesenog teksta, dok drugi preglednici to čekaju od korisnika. Chrome i Opera zahtijevaju točku u adresi e-pošte; Firefox je ne zahtijeva.

Primjer 2 prikazuje obrazac s obaveznim poljima u kojem dva polja provjerava valjanost preglednika.

Primjer 2: Točnost podataka

HTML5 IE 10+ Cr Op Sa Fx

Ispravnost podataka

Ispunite obrazac (sva polja su obavezna)

Ime:

Email:

Web stranica:

Opera samo provjerava element obrasca ako ima atribut imena.

Što se događa u Operi kada unesete netočne podatke prikazano je na sl. 2.

Riža. 2. Upozorenje na netočne podatke

Predložak za unos

Neki se podaci ne mogu svrstati u jedan od tipova elemenata obrasca, pa za njih morate koristiti tekstualno polje. Pritom se unose prema određenom standardu. Dakle, IP adresa sadrži četiri broja odvojena točkom (192.168.0.1), poštanski broj Rusije ograničen je na šest znamenki (124007), telefonski broj sadrži pozivni broj i određeni broj znamenki, često odvojenih znakom crtica (391 555-341-42) itd. Preglednik treba odrediti predložak za unos kako bi prema njemu provjeravao podatke koje korisnik unese. Da biste to učinili, koristi se atribut pattern, a njegova vrijednost je regularni izraz. Neke tipične vrijednosti navedene su u tablici. 1.

Primjer 3 od vas traži da unesete heksadecimalnu vrijednost boje (#ffcc00) i ako nije u tom rasponu, preglednik prikazuje poruku o pogrešci.

Primjer 3. Predložak unosa

HTML5 IE 10+ Cr Op Sa Fx

Unos boja

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

Na sl. Slika 3 prikazuje upozorenje u pregledniku Chrome.

Riža. 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 neće trebati dvostruku provjeru preglednika. U takvim slučajevima trebate onemogućiti ugrađenu provjeru valjanosti. Da biste to učinili, upotrijebite atribut novalidate oznake

. Primjer 4 pokazuje korištenje ovog atributa.

Primjer 4: Poništavanje valjanosti

HTML5 IE 10+ Cr Op Sa Fx

atribut novalidate

U sličnu svrhu koristi se atribut formnovalidate koji se dodaje na gumb za predaju obrasca, u ovom slučaju na tag . U ovom slučaju obrazac iz primjera 4 će izgledati ovako.