Savjeti za izgradnju i popravak

U modernom svijetu zaštita podataka jedan je od glavnih faktora cyber-sigurnosti. Srećom, Windows pruža takvu priliku bez instaliranja dodatnog softvera. Lozinka će osigurati sigurnost vaših podataka od stranih i napadača. Posebna relevantnost tajne kombinacije sticaju u laptopima, koji su najčešće podložni krađi i gubicima.

Članak će razmotriti glavne načine dodavanja lozinke za računar. Svi su jedinstveni i omogućavaju vam da unesete sistem čak i pomoću lozinke sa Microsoftovog računa, ali ova odbrana ne garantuje 100% sigurnosti iz prodora stranih ličnosti.

1. metoda: Dodavanje lozinke na "Upravljačkoj ploči"

Metoda prolaska putem "upravljačke ploče" jedna je od najlakših i najlakših. Savršeno pogodan za početnike i neiskusne korisnike, ne zahtijeva memoriranje timova i stvaraju dodatne profile.

  1. Preša "Start" meni i kliknite "Kontrolna tabla".
  2. Odaberite karticu "Korisnički računi i zaštita porodice".
  3. Kliknite na "Promjena lozinke za Windows" U poglavlju "Korisnički računi".
  4. Sa liste akcije preko profila odaberite "Stvaranje lozinke".
  5. U novom prozoru postoje 3 oblika za unos osnovnih podataka koji su neophodni za kreiranje lozinke.
  6. Obrazac "Nova šifra" Dizajniran za kodne riječi ili izraz koji će se zatražiti kada računar započne, obratite pažnju na način rada "CAPS zaključavanje" i raspored tastature prilikom punjenja. Ne stvarajte vrlo jednostavne lozinke poput "12345", "Qwerty", "Ytsuken". Pridržavajte se Microsoftovih preporuka o odabiru tajnog ključa:
    • Tajni izraz ne može primiti prijavu korisničkog računa ili bilo koju od njegove komponente;
    • Lozinka bi se trebala sastojati od više od 6 znakova;
    • U lozinci je preporučljivo primijeniti naslov i velika slova abecede;
    • U lozinci se preporučuje korištenje decimalnih brojeva i ne-abecednih znakova.
  7. "Potvrda lozinke" - polje u kojem želite ući u prethodno izmišljeni kodni reč za uklanjanje grešaka i nasumičnih prešanja, jer su uneseni znakovi skriveni.
  8. Obrazac "Unesite vrh lozinke" Stvoreno da podseti lozinku ako se ne možete pamtiti. Koristite podatke poznate samo vama u brzini. Ovo polje nije obavezno, ali preporučujemo da ga ispunimo, u suprotnom postoji rizik da izgubite svoj račun i pristup računaru.
  9. Kada popunite potrebne podatke, kliknite "Kreirajte lozinku".
  10. U ovoj fazi postupak instalacije lozinke je gotov. Status vaše zaštite možete vidjeti u prozoru Changeline. Nakon ponovnog pokretanja, Windows će zahtijevati tajni izraz za ulaz. Ako imate samo jedan profil sa privilegijama administratora, a ne da ne znate lozinku, pristup prozorima neće biti moguć.

Metoda 2: Microsoft račun

Ova metoda će vam omogućiti pristup računaru sa lozinkom iz Microsoftovog profila. Izraz koda se može mijenjati pomoću adrese e-pošte ili telefonski broj.

  1. Pronaći "Računarske postavke" U standardnim Windows aplikacijama "Start" meni (Pa izgleda na 8-ke, u sustavu Windows 10 pristupa "Parametri" Možete kliknuti na odgovarajuće dugme u meniju "Start" ili pomoću kombinacije ključeva Win + I.).
  2. Sa popisa parametara odaberite odjeljak "Računi".
  3. U bočnom meniju kliknite na "Vaš račun", Dalje "Povežite se na Microsoft nalog".
  4. Ako već imate Microsoft račun, unesite e-poštu, telefonski broj ili Skype korisničko ime i lozinku.
  5. Inače stvorite novi račun unosom traženih podataka.
  6. Nakon autorizacije trebat će vam potvrda s jedinstvenim SMS kodom.
  7. Nakon svih Windows manipulacija, tražit će se lozinka sa Microsoftovog računa za ulaz.

Metoda 3: naredbena linija

Ova metoda je pogodna za naprednije korisnike, jer podrazumijeva znanje o timovima konzole, ali može se pohvaliti brzinom njegovog izvršenja.

Zaključak

Stvaranje lozinke ne zahtijeva posebnu obuku i posebne vještine. Glavna složenost izmišlja same tajne kombinacije, a ne ugradnju. Istovremeno, ne treba se osloniti na ovu metodu, kao panaceje u području zaštite podataka.

Ponekad na web mjestu, dio sadržaja ili preuzimanja bilo koje datoteke mora biti dostupan samo za registrirane korisnike. A onda se postavlja pitanje: "Kako izvesti registraciju korisnika na web mjestu?". U stvari, sve nije tako teško, kao što se čini. Sav rad sastoji se od dva koraka. U prvom dijelu ćemo registrirati korisnike, a u drugom ćemo implementirati unos registriranih korisnika na web mjesto.
Za početak, stvorit ćemo glavnu stranicu index.php, gdje ćemo prikazati obrazac za prijavu (razgovarati s nama malo kasnije, dok jednostavno kreiramo) i to će biti veza do stranice za registraciju novog korisnika :

Ulaz:












Ulogovati se:
Lozinka:
>

provjeri

Kada kliknete na vezu provjeri Korisnik pogađa stranicu registra.php na kojoj se obrazac za unos svih potrebnih podataka tokom registracije i to će izgledati ovako:






























Ulogovati se * : >
Lozinka *: >
potvrda lozinke * : >
E-mail * : >
Ime: >
Prezime: >
colspan \u003d "2"\u003e "Registruj se" Ime \u003d "Pošaljite" >


Polja sa ikonom * Obavezno za punjenje

U ovom obliku, korisnik unosi korisničko ime, lozinku, e-poštu i po želji, ime i prezime, nakon čega se svi ti podaci šalju u procesor verifikacije.php. Trebat će provjere podataka i u slučaju sreće uneseno u bazu podataka. Nakon toga, korisnik će se smatrati registriranim. Sada razmislite o tome kako se uređuje rukovatelj verifikacije.php.

uključuju_once ("bd.php");

ako (Isset ($ _Post ["Pošaljite"])) (
Ako (prazno ($ _Post ["Prijava"])) (
eho. "
Unesite prijavu!"
;
}
elseif (! Preg_match ("/ ^ \\ w (3,) $ /", $ _post ["Prijava"])) (
eho. "
U polju "Prijava" predstavila je nevažeće znakove! Samo slova, brojevi i podvlaka!"
;
}
elseif (prazno ($ _Post ["lozinka"])) (
eho. "
Unesite lozinku!"
;
}
elseif (! Preg_match ("/ \\ a (\\ w) (6.20) \\ z /", $ _POST ["lozinka"])) (
Eho. "
Lozinka je prekratka! Lozinka mora biti najmanje 6 znakova!"
;
}
elseif (prazno ($ _Post ["lozinka2"]))) (
eho. "
Unesite potvrdu lozinke!"
;
}
elseif ($ _post ["lozinka"]! \u003d $ _POST ["lozinka2"]) (
eho. "
Unesene lozinke se ne podudaraju!"
;
}
elseif (prazan ($ _Post ["e-mail"])) (
eho. "
Unesite e-mail!"
;
}
elseif (! Preg_match ("/ ^ (+ \\.) + (2.6) $ /", $ _POST ["Email"])) (
eho. "
E-pošta ima neprihvatljiv format! Na primjer, !"
;
}

drugo (
$ Prijava \u003d $ _post ["Prijava"];

$ MDPassword \u003d MD5 ($ Lozinka);
$ Lozinka2 \u003d $ _POST ["Lozinka2"];
$ email \u003d $ _post ["e-mail"];
$ RDate \u003d Datum ("D-M-y u H: i");
$ Name \u003d $ _post ["naziv"];
$ Lastname \u003d $ _post ["prezime"];

$ Query \u003d ( "Odaberite ID od korisnika gdje se prijava \u003d" $ prijava "");
$ SQL \u003d mysql_query ($ upit) ili die (mysql_error ());

iF (mysql_num_rows ($ SQL)\u003e 0) (
eho. "Korisnik sa takvom prijavom registriran!" ;
}
drugo (
$ Query2 \u003d ( "Odaberite ID od korisnika gdje je e-mail \u003d" $ email "");
$ SQL \u003d mysql_query ($ upit2) ili die (mysql_error ());
iF (mysql_num_rows ($ SQL)\u003e 0) (
eho. "Korisnik sa takvim e-mailom već je registriran!" ;
}
drugo (
$ Upit \u003d. "Umetnite u korisnike (prijavite se, lozinku, e-poštu, reg_date, ime_user, prezime)
Vrijednosti ("$ prijava", "$ MDPassword", "$ e-pošta", "$ RDate", "$ name", "$ prezime") "
;
$ Rezultat \u003d mysql_query ($ upit) ili die (mysql_error ()) ;;
eho. "Uspješno ste se registrovali!
Do glavnog "
;
}
}
}
}
?>

Na samom početku povezujemo datoteku BD.php koja sadrži vezu baze podataka.

mysql_connect ("Localhost", "Korisnik", "Lozinka");
mysql_select_db ("reg");

Usput, zaboravio sam reći da je potrebno povezati na sve stranice na samom početku dokumenta prije početka bilo kojeg HTML koda. Ubuduće ćemo i dalje uređivati.

Sada kreirajte tablicu korisnika u našoj bazi podataka:

Kreirajte tablicu `korisnika` (
`Int ne null auto_increment,
`Login` Varchar (20) nije ,
`Lozinka` Varchar (35) nije nula,
`E-mail` Varchar (50) nije ,
`reg_date` varchar (32) nije nula,
`name_user` varchar (32) nije nula,
`Prezime` Varchar (32) nije nula,
Primarni ključ (`ID`)
);

Dalje, provjeravamo unesenim podacima ako nisu tačni, izdaje se greška. Ako sve ide dobro, globalne varijable pretvorimo u obične, kao i šifriraju lozinku. Tada provjeravamo imamo li korisnika s istim prijavama i e-poštom, ako postoji, onda dajemo grešku. Ako su ove provjere uspješno završene, unesite novi korisnik u bazu podataka i prijavite se uspješno registracija.

Sada kada je korisnik registrirao trebaju ući na mjesto. Već smo učinili obrazac za prijavu u prijavu i lozinku na samom početku. Kada pritisnete dugme za prijavu, šaljemo sve naše datoteke za prijavu podataka.php koja provjerava postoji li takav korisnik.

ako (Isset ($ _Post ["Prijava"])) (
$ Prijava \u003d $ _post ["Prijava"];
ako ($ prijava \u003d\u003d "") (
unset ($ prijava);
iZLAZ ( "Molimo unesite prijavu!");
}
}
ako (Isset ($ _Post ["Lozinka"])) (
$ Lozinka \u003d $ _POST ["Lozinka"];
ako ($ lozinka \u003d\u003d ") (
unset ($ lozinka);
izlaz ("Unesite lozinku");
}
}
$ Prijava \u003d Stripslashes ($ Prijava);
$ Prijava \u003d HTMLSCELCHARS ($ Prijava);
$ Lozinka \u003d StripSlashes ($ Lozinka);
$ Lozinka \u003d HTMLSpecialchars ($ Lozinka);

$ Prijava \u003d Trim ($ Prijava);
$ Lozinka \u003d Trim ($ Lozinka);
$ Lozinka \u003d MD5 ($ Lozinka); // Šifriranje lozinke
$ USER \u003d MySQL_QUERY ( "Odaberite ID od korisnika gdje se prijava \u003d" $ prijava "i lozinka \u003d" $ lozinka "");
$ Id_user \u003d mysql_fetch_array ($ korisnik);
ako (prazno ($ ID_User [ID "])) (
iZLAZ ( "Izvinite, prijava ili lozinka koju unesete.");
}
drugo (
$ _Session ["lozinka"] \u003d $ lozinka;
$ _Session ["Prijava"] \u003d $ Prijava;
$ _Session ["ID"] \u003d $ id_user ["ID"];
}
eho. "" ;
?>

Ova datoteka provjerava naš korisnik da postoji i pokrene sesiju za to, jer Sav ulaz je izgrađen na njima. Ove varijable će "objesiti" u pretraživaču dok se ne zatvori ili nećete uništiti (to se temelji na ovome). Sad kad su radovi za sjednice potrebni u datoteci BD.php da bi dodali takva linija sesije_start (); Za jednostavnu upotrebu varijabli, dodijelit ćemo ih u konvencionalnim varijablama.

$ Prijava \u003d $ _Session ["Prijava"];
$ Lozinka \u003d $ _Session ["Lozinka"];
$ ID_User \u003d $ _Session ["ID"];

Sada kada je korisnik koji je ušao u ušao u korisnik mogao vidjeti sadržaj registriranih korisnika, stvorit ćemo takvo stanje:

ako (prazno ($ prijava) i prazno ($ lozinka)) (
eho. "Morate se registrirati da biste vidjeli ovaj sadržaj";
}
drugo (
eho. "HI," $ Prijava. "| Izlaz
Sadržaj za registrovane korisnike "
;
}

I na kraju, stvorit ćemo datoteku izlaz.php koja će korisniku omogućiti da izađe iz web mjesta. Sve što trebate da uništite varijable u sesijama:

unset ($ _Session ["lozinka"]);
unset ($ _Session ["Prijava"]);
unset ($ _Session ["ID"]);

Pa, napravili smo najjednostavniju registraciju koju možete koristiti na svojoj web stranici kako biste ograničili pristup vašem sadržaju.

Zdravo, prijatelji! U ovom ćemo članku učiniti automatska prijava u Windows 7.

Uključivanje automatskog broda smanjuje sigurnost kao da će svaka osoba s fizičkim pristupom računaru pristupiti svim vašim podacima. Stoga mi se čini da nije preporučljivo uključiti automatski ulaz i druge prijenosne tehnike jer nije potrebno isključiti opciju EDGE. Na ukradenom računaru moguće je, ali s lozinkom će se također resetirati i automatsko registracija na većini usluga, što će se uvelike povećavati.

upravljanje userpasswords2 ornetplwiz

Drugi način. Dodijelite jedan od korisnika za automatsku prijavu.

U uređivaču registra s lijeve strane na drvetu, idite na put

HKEY_LOCAL_MACHINE \\ Software \\ Microsoft \\ Windows NT \\ CurrentVersion \\ Winlogon

1. Da biste aktivirali automatsku prijavu na sistem, morate postaviti vrijednost Autoadminlogon. = 1.

Da biste dva puta promijenili parametar po parametru (u našem slučaju, AutoadMinlogon) u poljem vrijednosti napišite 1 i kliknite OK

Vrijednost parametra se mijenja.

2. Morate postaviti korisničko ime za automatsku prijavu. Defausername.

3. Ako imate korisnika sa lozinkom, morate postaviti ovu lozinku u parametru ZadhranaPassword.. Imam korisnike bez lozinke, tako da ovaj parametar nije.

Ako nemate nikakav parametar, morate ga stvoriti.

Da biste to učinili, na praznom mjestu kliknite desni klik

U ovom ćemo članu naučiti kako stvoriti obrazac za registraciju i autorizacijuKorištenje HTML, JavaScript, PHP i MySQL. Takvi se oblici koriste gotovo na svakoj web lokaciji, bez obzira na njegov tip. Oni su također kreirani za forum, a za internetsku trgovinu i za društvene mreže (poput Facebook-a, Twitera, Odnoklassiniki) i za mnoge druge vrste web lokacija.

Ako imate web lokaciju na lokalnom računaru, nadam se da ćete već imati. Bez njega ništa neće raditi.

Izrada tabele u bazi podataka

Da bi implementirala registraciju korisnika, prije svega potrebna nam je baza podataka. Ako ga već imate, onda je divno, u protivnom trebate stvoriti. U članku detaljno objašnjavam kako to učiniti.

I tako imamo bazu podataka (skraćena baza podataka), sada moramo stvoriti tablicu korisnici. U kojem ćemo dodati naše registrirane korisnike.

Kako stvoriti tablicu u bazi podataka, objasnio sam i u članku. Prije stvaranja stola moramo odrediti koja će polja sadržavati. Ova polja će odgovarati poljima iz registracijskog obrasca.

Pa su mislili, predstavili koja bi polja bila naš obrazac i stvoriti tablicu korisnici. Sa takvim poljima:

  • id - Identifikator. Polje id Mora imati svaku tablicu iz baze podataka.
  • ime. - Da sačuvate ime.
  • prezime. - Da biste sačuvali prezime.
  • e-pošta - Da biste sačuvali poštansku adresu. E-pošta Mi ćemo koristiti kao prijavu, tako da ovo polje treba biti jedinstveno, odnosno ima jedinstvenog indeksa.
  • e-mail_status. - polje za upute potvrđuje se poštom ili ne. Ako je pošta potvrđena, imat će vrijednost 1, u protivnom vrijednost je po zadanim postavkama, ovo polje će imati vrijednost 0.
  • lozinka. - Da biste sačuvali lozinku.

Sva polja tipa "Varchar" moraju biti zadane null.


Ako želite svoj oblik registracije da imate neka druga polja, tada ih možete dodati i ovdje.

Sve, naš stol korisnici. Spremni. Idite na sljedeću fazu.

Priključak na bazu podataka

Stvorili smo bazu podataka, sada se morate povezati s njom. Veza će se izvesti pomoću PHP ekspanzije mysqli.

U mapi naše stranice stvorite datoteku nazvana dbconnect.php.I u njemu pišemo sledeću skriptu:

Pogreška prilikom povezivanja na bazu podataka. Opis pogreške: ".mysqli_connect_error ()."

";);) // Podesite kodiranje $ mysqli-\u003e set_charset veze (" UTF8 "); // Za praktičnost, dodajte varijablu ovdje, koja će sadržavati naziv naše web lokacije $ Address_Site \u003d" http: "http:" http: "http:" http: "http:" //testsite.local ";?\u003e

Ova datoteka dbconnect.php. Bit će potrebno povezati se sa obrascima za obradu.

Obratite pažnju na varijablu $ Address_site.Ovdje sam naveo ime moje testne stranice, na kojem ću raditi. Vi respektivno, navedite ime svoje web stranice.

Struktura stranice

Sada smislite s HTML strukturom naše stranice.

Zaglavlje i podrum stranice bit će dostavljeni pojedinim dosjeima, zaglavlje.php. i footer.php.. Povezaćemo ih na svim stranicama. Naime na glavnom (datoteku index.php.), na stranici sa oblikom registracije (datoteka form_register.php.) i na stranici sa oblikom autorizacije (datoteka form_auth.php.).

Blokirajte sa našim referencama provjeri i autorizacija, Dodajte zaglavljem stranice tako da se prikazuju na svim stranicama. Jedna veza ući će na stranica sa registracijskim obrascem (datoteka form_register.php.), a drugi na stranicu sa oblik autorizacije (datoteka form_auth.php.).

Sadržaj datoteke zaglavlja:

Naziv naše web stranice

Kao rezultat toga, glavna stranica izgledamo ovako:


Naravno, na web mjestu možete imati potpuno drugačiju strukturu, ali to nam nije važno za nas. Glavna stvar je imati reference (tipke) registracije i autorizacije.

Sada se okrenemo u obliku registracije. Kao što ste već razumjeli, ona je u datoteci form_register.php..

Idemo u bazu podataka (u phpmyadmin), otvorite stolsku strukturu korisnici. I gledamo koja polja potrebna. Dakle, potrebna nam je polja za ulazak u ime i prezime, polje za adresu e-pošte (e-pošta) i polje za unos lozinke. Pa čak i iz sigurnosnih razloga, dodajte polje za prikupljanje.

Na poslužitelju, kao rezultat obrade registracijskog obrasca mogu se pojaviti različite greške, zbog kojih se korisnik ne može registrirati. Stoga, kako bi korisnik shvatio zašto se registracija ne podvrgava, potrebno je prikazati poruke o tim greškama.

Prije prikazivanja obrasca, dodajte blok na izlazne poruke o pogrešci sa sesije.

I još jedan trenutak, ako je korisnik već ovlašten, a dođe na stranicu za registraciju direktno pišući na pretraživač u adresnoj traci adresa_Sight / form_register.php.U ovom slučaju, u ovom slučaju, umjesto registracijskog obrasca, donijet ćemo mu naslov koji je već registriran.

Općenito, kôd datoteke form_register.php. Imamo ovako:

Već ste registrovani

U pretraživaču stranica sa oblikom registracije izgleda ovako:


Preko potrebni atribut, napravili smo sva polja obavezna da ispunjavaju.

Obratite pažnju na kodeks registracije gdje cAPTCHA je izvedena:


Mi u vrijednosti SRC atributa za sliku, naznačio je put do datoteke captcha.php.što generira ovu CAPTCHA.

Pogledajmo kod datoteke captcha.php.:

Kod je dobro komentiran, pa ću se zadržati samo u jednom trenutku.

Unutar funkcije imagettftext ()naznačeni put do fonta vENTANA.ttf.. Dakle, za ispravnu radnu kapku, moramo stvoriti mapu fontovi.i stavite datoteku fonta tamo vENTANA.ttf.. Možete ga pronaći i preuzeti s Interneta ili uzeti iz arhive sa materijalima ovog članka.

Sa HTML strukturom smo završili, vrijeme je za kretanje dalje.

Potvrda e-pošte na valjanost pomoću jQuery

Svaki obrazac mora provjeriti valjanost unesenih podataka, kako na strani klijenta (pomoću JavaScript, jQuery) i na strani poslužitelja.

Moramo platiti posebnu njegu polje e-pošte. Vrlo je važno da je unesena poštanska adresa valjana.

Za ovo polje za unos postavili smo e-poštu tipa (tip \u003d "e-poštu"), ovo je malo oprezni iz pogrešnih formata. Ali to nije dovoljno, jer nam preko inspektora kodeksa, koji pregledač pruža nam, lako možete promijeniti vrijednost atributa vrsta od e-pošta na tekst.I sve, naša provjera neće biti nevažeća.


I u ovom slučaju moramo napraviti pouzdaniji ček. Da biste to učinili, koristite jQuery biblioteku JavaScript.

Da biste povezali biblioteku jQuery, u datoteci zaglavlje.php.između oznaka Ispred zatvaranja , dodajte ovu liniju:

Odmah nakon ove linije dodajte potvrdni kôd za provjeru e-pošte. Ovdje ću dodati kod za provjeru dužine unesene lozinke. Njegova dužina treba biti najmanje 6 znakova.

Pomoću ove skripte provjeravamo unesenu poštansku adresu na valjanost. Ako je korisnik ušao u pogrešan e-mail, onda ga donosimo grešku u vezi s tim i deaktiviramo dugme Pošalji oblik. Ako je sve u redu, onda uklanjamo grešku i aktiviramo dugme za slanje.

I tako, s oblikom provjere klijenta koji smo završili. Sada ga možemo poslati na poslužitelj u kojem ćete napraviti i nekoliko provjera i dodavati podatke u bazu podataka.

Registracija korisnika

Obrazac šaljemo u obradu datoteke register.php., kroz metodu post. Naziv ove datoteke za rukovođenje označeno je u vrijednosti atributa. akcija.. A metoda slanja navedena je u vrijednosti atributa. metoda..

Otvorite ovu datoteku register.php. I prvo što trebamo učiniti je napisati funkciju pokretanja sesije i povezati prethodno kreiranu datoteku dbconnect.php. (U ovoj datoteci povezali smo se sa bazom podataka). A takođe, odmah proglasiti ćelije error_messages. i uspjeh_mesages. U globalnom nizu sesije. U error_mesages. Zabilježit ćemo sve poruke o pogrešci koje nastaću tijekom obrade obrade i u uspjeh_mesages.Napisat ćemo radosne poruke.

Prije nego što nastavite, moramo provjeriti da li je uopće bio obrazac. Napadač može pogledati vrijednost atributa akcija. Iz obrasca i saznajte koju datoteku se bavi obradom ovog obrasca. I možda će vam paziti na pomisao da se premješta direktno u ovu datoteku, birajući u adresnoj traci pretraživača takva adresa: http: //ares_site/register.php.

Stoga moramo provjeriti prisustvo ćelije u post globalnom nizu, što naziv odgovara nazivu našeg "registra" dugmeta iz obrasca. Dakle, provjeravamo da li se tipka "Register" pritisne ili ne.

Ako napadač pokušava direktno ići u ovu datoteku, dobiva poruku o pogrešci. Podsjećam vas da varijabla $ Address_site sadrži naziv stranice i najavljeno je u datoteci dbconnect.php..

Greška! Glavna stranica.

"); } ?>

Vrijednost CAPTCHA u sesiji dodana je prilikom generiranja u datoteku captcha.php.. Da biste podsjetili da pokažete ovaj komad koda iz datoteke captcha.php.Tamo gdje se vrijednost Captcha dodaje na sesiju:

Sada nastavite sa samim čekom. U datoteci register.php., unutar bloka, ako provjerite je li pritisnuto dugme "Registracija", ili bolje rečeno gdje je komentar naznačen. " // (1) mjesto za sljedeći komad koda"Mi pišemo:

// provjeriti rezultirajuće captcha // izrežite praznine s početka i sa kraja $ captcha \u003d trim ($ _ post ["captcha"]); IF (Isset ($ _ post ["captcha"]) &&! Prazan ($ captcha)) (// Uporedite vrijednost s vrijednošću sa sesije. Ako ((($ _ sesija ["rand")! \u003d $ Captcha ) && ($ _Session ["rand"]! \u003d "")) (// Ako PIN nije ispravan, tada ćemo korisniku vratiti na stranicu za registraciju, a tu će mu dati poruku o grešci u kojoj je predstavio Pogrešno zatvaranje. $ error_message \u003d "

Greška! Uneli ste pogrešnu kappu

"; // Spremanjem poruke o pogrešci na sesiji. $ _Session [" error_messages "] \u003d $ error_message; // Vratite korisnika na stranicu za zaglavlje (" HTTP / 1.1 301 premješteno "); zaglavlje (" Lokacija: "Lokacija: "$ Address_site." / Form_register.php "); // Pokrenite izlazne skripte ();) // (2) mjesto za sljedeći komad koda) drugi (// ako se CAPTCHA ne prenosi ili je prazna Izlaz ("

Greška! Ne postoji kontrolni kod, odnosno kapičarski kod. Možeš ići Glavna stranica.

"); }

Dalje, moramo obraditi dobivene podatke, od post masiva. Prije svega, moramo provjeriti sadržaj globalnog post masiva, odnosno da li su ćelije tamo, a koja su imena odgovaraju imenima ulaznih polja iz našeg oblika.

Ako ćelija postoji, zatim izrežite razmake od početka i od kraja linije iz ove ćelije, u suprotnom preusmjeravanje korisnika natrag na stranicu za registraciju.

Dalje, nakon rezanja prostora dodajte niz u varijablu i provjerite ovu varijablu praznini, ako nije prazan, onda idemo dalje, u protivnom ste preusmjereni korisniku na stranicu s obrascem za registraciju.

Ovaj kod umetnute na navedenu lokaciju " // (2) mjesto za sljedeći komad koda".

/ * Provjeravamo da li u Global Arrayu $ _Post postoje podaci koji se šalju iz obrasca i zaključuju prenesene podatke u normalne varijable. * / IF (ISTEST ($ _ post ["prvo_name"]))))) (// Izrežite razmake iz Početak i od kraja $ First_Name string \u003d trim ($ _ post ["prva_name"]); // Provjerite varijablu na nevaženju IF_Name (! prazno ($ prva imena)) (// za sigurnost transformiramo posebne znakove u HTML entitetu $ First_Name \u003d HTMLSpecialchars ($ prva imena, ent_quotes);) drugo (// Spremanjem poruke o pogrešci na sesiji. $ _Session ["error_messages"]. \u003d "

Navedite svoje ime

Nedostaje polje imenovano

"; // Vratite korisnika na zaglavlje za registracijsku stranicu (" HTTP / 1.1 301 premještena); zaglavlje ("Lokacija:". $ Address_site. "/ Form_register.php"); // pokrenite izlaznu skriptu (); ) ako (Isset ($ _ post ["last_name"]))) (// Izrežite razmake od početka i od kraja $ last_name \u003d trim ($ _ post_) ["last_name"]); ako (! prazan ( $ last_name)) (// Za sigurnost transformiramo posebne znakove u HTML ESSENCE od $ Last_Name \u003d htmlspecialchars ($ last_name, ent_quotes);) inače (// Spremanjem poruku o pogrešci na sesiju. $ _Session ["erros_mesages" ]. \u003d "

Navedite svoju prezime

"; // Vratite korisnika na stranicu za zaglavlje (" HTTP / 1.1 301 premješteno); zaglavlje ("Lokacija:". $ Address_site. "/ Form_register.php"); // Pokrenite izlaznu skriptu (); )) Drugo (// Spremanjem poruke o pogrešci na sesiji. $ _Session ["error_messages"]. \u003d "

Nedostaje polje sa prezimenom

"; // Vratite korisnika na zaglavlje za registracijsku stranicu (" HTTP / 1.1 301 premještena); zaglavlje ("Lokacija:". $ Address_site. "/ Form_register.php"); // pokrenite izlaznu skriptu (); ) ako (Isset ($ _ post ["e-mail"])) (// Izrežite razmake od početka i sa kraja $ e-mail \u003d trim ($ _ post "]); ako (! prazno (! $ e-mail)) ($ e-mail \u003d htmlspecialchars ($ e-poštu, ent_quotes); // (3) lokaciju koda za provjeru formata poštanske adrese i njegove jedinstvenosti) u sesiji . $ _Session ["error_messages"]. \u003d "

Navedite svoju e-poštu

"; // Vratite korisnika na stranicu za zaglavlje (" HTTP / 1.1 301 premješteno); zaglavlje ("Lokacija:". $ Address_site. "/ Form_register.php"); // Pokrenite izlaznu skriptu (); )) Drugo (// Spremanjem poruke o pogrešci na sesiji. $ _Session ["error_messages"]. \u003d "

"; // Vratite korisnika na zaglavlje za registracijsku stranicu (" HTTP / 1.1 301 premještena); zaglavlje ("Lokacija:". $ Address_site. "/ Form_register.php"); // pokrenite izlaznu skriptu (); ) ako (Isset ($ _ post ["Lozinka"])))) (// Izrežite razmake od početka i od kraja $ lozinke \u003d trim ($ _ post ["lozinku"]); ako (! prazan ( $ Lozinka)) ($ Lozinka \u003d HTMLSCHARS ($ Lozinka, ENT_QUOTES); // Indibration Paparol $ Lozinka \u003d MD5 ($ Lozinka. "Top_secret");) inače (// Spremanjem poruke o pogrešci na sesiju. $ _Session [ "Error_Messages"]. \u003d "

Navedite svoju lozinku

"; // Vratite korisnika na stranicu za zaglavlje (" HTTP / 1.1 301 premješteno); zaglavlje ("Lokacija:". $ Address_site. "/ Form_register.php"); // Pokrenite izlaznu skriptu (); )) Drugo (// Spremanjem poruke o pogrešci na sesiji. $ _Session ["error_messages"]. \u003d "

"; // Vratite korisnika na stranicu zaglavlja na stranicu zaglavlja (" HTTP / 1.1 301 stalno se pomiče "); zaglavlje (" Lokacija: ". $ Address_site." / Form_register.php "); // Pokrenite izlaznu skriptu (); ) // (4) mjesto za kodeks dodavanja korisnika u bazu podataka

Posebna važnost ima polje e-pošta. Moramo provjeriti format primljene poštanske adrese i njenu jedinstvenost u bazi podataka. To jest, više nema korisnika s istom adresom e-pošte.

Na navedenom mestu " // (3) Lokacija kod za provjeru formata poštanske adrese i njegovu jedinstvenost"Dodajte sledeći kod:

// provjeriti format primljene poštanske adrese pomoću regularnog izražavanja $ reg_email \u003d "/ ^ ** @ (+ (+)) * (.) + + / I"; // Ako format primljenog poštanskog adresa ne odgovara redovnom izrazu ako (! Preg_match ($ reg_email, $ email) (// Spremanjem poruke o pogrešci na sesiji. $ _Session ["error_messages"]. \u003d "

Unijeli ste neplaćeni e-mail

"; // Vratite korisnika na stranicu zaglavlja na stranicu zaglavlja (" HTTP / 1.1 301 stalno se pomiče "); zaglavlje (" Lokacija: ". $ Address_site." / Form_register.php "); // Pokrenite izlaznu skriptu (); ) // Provjera postoji li već takva adresa u bazi podataka. $ Rezultati_Query \u003d $ mysqli-\u003e upit ("Select` e-pošte" iz "korisnika" "". $ E-pošta "; / Ako je broj primljenih redova, što znači da je korisnik s takvom poštanskom adresom već registriran ako ($ rezultat_query-\u003e num_rows \u003d\u003d 1) (// ako rezultirajuće rezultat nije jednak lažnom ako (($ RED \u003d $ rezultata_query-\u003e fetch_assoc ())! \u003d false) (// spremamo poruku o pogrešci na sesiji. $ _Session ["error_messages"]. \u003d "

Korisnik s takvom post adresom već je registriran

"; // Vratite korisnika na stranicu zaglavlja na stranicu zaglavlja (" HTTP / 1.1 301 se preselila stalno "); zaglavlje (" Lokacija: ". $ Address_site." / Form_register.php ");) drugo (// Spremanjem greške poruka na sesiji. $ _Session ["error_messages"]. \u003d "

Pogreška u zahtjevu baze podataka

"; // vratite korisnika na stranicu zaglavlja na stranicu zaglavlja (" HTTP / 1.1 301 (zaglavlje); zaglavlje ("Lokacija:". $ Address_site. "/ Form_register.php");) / * Cliring uzorkovanje * / $ rezultata_query -\u003e zatvori (); // Zaustavite izlaznu skriptu ();) / * Zatvaranje uzorka * / $ Rezultat_Query-\u003e Zatvori ();

I tako, završili smo sa svim čekovima, vrijeme je da dodate korisnika u bazu podataka. Na navedenom mestu " // (4) mjesto za kodeks dodavanja korisnika u bazu podataka"Dodajte sledeći kod:

// Zahtev za dodavanje korisnika u $ $S_QUERY_INSERT \u003d $ MySQLi-\u003e upit ("Umetnite u" (prva_Name, last_name, e-poštu, lozinku) (". $ Prvame." "" "" "" "" "" "" "" "" ". Last_name. "", "" $ E-pošta. "", "" $ Lozinka. "") "); Ako (! $ Rezultati_Query_INSERT) (// Spremite poruku o pogrešci na sesiji. $ _Session ["error_messages"]. \u003d "

Zahtev za grešku za dodavanje korisnika u bazu podataka

"; // Vratite korisnika na stranicu za zaglavlje (" HTTP / 1.1 301 premješteno); zaglavlje ("Lokacija:". $ Address_site. "/ Form_register.php"); // Pokrenite izlaznu skriptu (); ) Drugo ($ _Session ["uspjeh_messages"] \u003d "

Registracija je uspješno završena !!!
Sada se možete prijaviti pomoću svoje prijave i lozinke.

"; // poslati korisniku na stranicu za autorizaciju zaglavlja (" HTTP / 1.1 301 stalno se pomiče "); zaglavlje (" Lokacija: ". $ Address_site." / form_auth.php ");) / * Završetak zahtjeva * / $ Rezultati_Query_INSERT-\u003e Zatvori (); // Zatvorite vezu s bazom podataka $ mysqli-\u003e Zatvori ();

Ako je došlo do pogreške u zahtjevu za dodavanje korisnika u bazu podataka, dodajemo poruku o ovoj pogrešci na sesiji i vratimo korisnika na stranicu za registraciju.

Inače, ako je sve prošlo dobro, na sesiji dodajemo i poruku, ali već je ugodnije, naime govorimo korisnik da je registracija uspješno prošla. I preusmjerite ga već na stranicu sa oblikom autorizacije.

Skripta za provjeru formata poštanske adrese i dužine lozinke je u datoteci zaglavlje.php., pa će se ponašati na poljima iz ovog obrasca.

Pokretanje sesije takođe se javlja u datoteci zaglavlje.php.tako u datoteci form_auth.php. Ne trebate voditi sesiju, jer dobijamo grešku.


Kao što sam rekao, skripta za provjeru formata poštanske adrese i dužine lozinke ovdje djeluje. Stoga, ako korisnik uđe u pogrešnu adresu e-pošte ili kratku lozinku, odmah primi poruku o pogrešci. I dugme da uđem Neće biti aktivan.

Nakon uklanjanja gumba greške da uđem Postaje aktivan, a korisnik će moći poslati obrazac na server gdje će se obraditi.

Autorizacija korisnika

U vrijednosti atributa akcija. Oblik autorizacije je navedena datoteka auth.php.To znači da će se obrazac biti obrađen u ovoj datoteci.

I tako, otvorite datoteku auth.php. I napišite kod za obradu obrasca za autorizaciju. Prvo što trebate učiniti je pokrenuti sesiju i povežite datoteku dbconnect.php. Za povezivanje s bazom podataka.

// Proglasite ćeliju za dodavanje grešaka koji se mogu pojaviti tokom obrade obrasca. $ _Session ["error_messages"] \u003d ""; // izjaviti ćeliju za dodavanje uspješnih poruka $ _Session ["uspjeh_mesages"] \u003d "";

/ * Provjeravamo da li je obrazac poslan, odnosno pritisnut je dugme za unos. Ako da, onda idemo dalje ako ne, tada ćete povući korisnika poruku o grešci, da je došao na ovu stranicu direktno. * / If (isset ($ _ POST [ 'BTN_SUBMIT_AUTH]) &&! Prazno ($ _ post [ "btn_submit_auth"])) (// (1) Mjesto za sljedeći komad koda) else (Izlaz ( "

Greška! Posjetili ste ovu stranicu direktno, stoga nema podataka za obradu. Možeš ići Glavna stranica.

"); }

// Provjerite primljenu CAPTCHA IF (Isset ($ _ post ["CAPTCHA"])) (// Izrežite razmake od početka i od kraja $ captcha \u003d trim niza ["CAPTCHA"]) ; ako (! prazan ($ captcha)) (// Uporedite vrijednost s vrijednošću sa sesije. Ako ($ _ sesija ["Rand"]! \u003d $ captcha) && ($ _Session ["rand"]! \u003d "")) (// Ako CAPTCHA nije istina, korisniku vraćamo na stranicu autorizacije, a dat će mu poruku o grešci koju je uveo pogrešnu kapt. $ Error_message \u003d "

Greška! Uneli ste pogrešnu kappu

"; // Spremanjem poruke o pogrešci na sesiji. $ _Session [" error_messages "] \u003d $ error_message; // Vratite korisnika na stranicu za autorizaciju zaglavlja (" http / 1.1 301 premješteno "); zaglavlje (" Lokacija: "Lokacija: ". $ Address_site." / Form_auth.php "); // Pokrenite izlazne skripte ();)) drugo ($ error_message \u003d"

Greška! Polje za kapvanje ne bi trebalo biti prazno.

"; // Spremanjem poruke o pogrešci na sesiji. $ _Session [" error_messages "] \u003d $ error_message; // Vratite korisnika na stranicu za autorizaciju zaglavlja (" http / 1.1 301 premješteno "); zaglavlje (" Lokacija: "Lokacija: ". $ Address_site." / Form_auth.php "); // Pokrenite izlazne skripte ();) // (2) mjesto za obradu poštanskih adresa // (3) prostor za obradu lozinke // (4) mjesto za sastavljanje Zahtjev za bazu podataka) drugo (// ako se Captcha ne prenosi na izlaz ("

Greška! Ne postoji kontrolni kôd, odnosno koda kapipča. Možeš ići Glavna stranica.

"); }

Ako je korisnik ispravno ušao u kontrolni kôd, onda idemo dalje, u protivnom ga vraćamo na stranicu za autorizaciju.

Provjera adrese

// izrežite razmake od početka i sa kraja $ e-mail \u003d trim ($ _ post ["e-mail"]); if (bit ($ _ post ["e-mail"])) (ako (! Prazan ($ e-mail)) ($ e-mail)) ($ e-mail \u003d htmlspecialchars ($ e-mail, end_quotes); // Provjerite format primljene poštanske adrese pomoću regularnog izražavanja $ reg_email \u003d "/ ^ ** @ (+ (* +)).) ++ / i"; // ako se format primljenog poštanskog adresa ne podudara sa regularnim izrazom (! preg_match ($ reg_ematch ($ reg_email) )) (// uštedjeli smo u poruci o pogrešci sesije. $ _Session ["error_messages"]. \u003d "

Uneli ste pogrešnu e-poštu

"; // Vratite korisnika na stranicu za autorizaciju zaglavlja (" HTTP / 1.1 301 se stalno pomiče "); zaglavlje (" Lokacija: ". $ Address_site." / Form_auth.php "); // Pokrenite izlaznu skriptu (); )) Drugo (// Spremanjem poruke o pogrešci na sesiji. $ _Session ["error_messages"]. \u003d "

Polje adrese pošte (e-pošta) ne bi trebala biti prazna.

"; // Vratite korisnika na stranicu za zaglavlje (" HTTP / 1.1 301 premješteno); zaglavlje ("Lokacija:". $ Address_site. "/ Form_register.php"); // Pokrenite izlaznu skriptu (); )) Drugo (// Spremanjem poruke o pogrešci na sesiji. $ _Session ["error_messages"]. \u003d "

Ne postoji polje za unošenje e-pošte

"; // Vratite korisnika na stranicu za autorizaciju zaglavlja (" HTTP / 1.1 301 se stalno pomiče "); zaglavlje (" Lokacija: ". $ Address_site." / Form_auth.php "); // Pokrenite izlaznu skriptu (); ) // (3) Prostor za obradu lozinki

Ako je korisnik ušao u adresu za slanje pošte u pogrešnom formatu ili je vrijednost polja e-pošte prazna, onda ga vraćamo na stranicu autorizacije na kojoj ga donosimo poruku o tome.

Provjera lozinke

Sljedeće polje za obradu je polje za lozinku. Na navedenoj lokaciji " // (3) mjesto za obradu lozinke", Mi pišemo:

If (Isset ($ _ post ["Lozinka"])) (// Izrežite razmake od početka i od kraja $ lozinke \u003d trim ($ _ post ["lozinka"]); ako (! Prazan ($ Lozinka)) ($ Lozinka \u003d HTMLSPECIALCHARS ($ Lozinka, ENT_QUOTES); // Indikracija lozinke $ Lozinka \u003d MD5 ($ Lozinka. "Top_secret");) inače (// Spremite poruku o pogrešci na sesiji. $ _Session [" error_messages "]. \u003d"

Navedite svoju lozinku

"; // Vratite korisnika na stranicu zaglavlja na stranicu zaglavlja (" HTTP / 1.1 301 premještena); zaglavlje ("Lokacija:". $ Address_site. "/ Form_auth.php"); // Pokrenite izlaznu skriptu (); )) Drugo (// Spremanjem poruke o pogrešci na sesiji. $ _Session ["error_messages"]. \u003d "

Nedostaje polje za unos lozinke

"; // Vratite korisnika na stranicu zaglavlja na stranicu zaglavlja (" HTTP / 1.1 301 stalno se pomiče "); zaglavlje (" Lokacija: ". $ Address_site." / Form_auth.php "); // Pokrenite izlaznu skriptu (); )

Ovdje koristimo funkciju MD5 () za šifriranje primljene lozinke, jer smo u lozinkama baza podataka u šifriranom obliku. Dodatna tajna riječ u enkripciji, u našem slučaju " top_secret."Mora postojati da se koristi i prilikom registracije korisnika.

Sada je potrebno izvršiti zahtjev bazi podataka na korisničkom uzorku čija je adresa e-pošte jednaka primljenoj poštanskoj adresi i lozinci jednaka primljenoj lozinci.

// Zatražite u bazi podataka na uzorku korisnika. $ Rezultati_Query_Select \u003d $ MySQLi-\u003e upit ("Odaberite * od" korisnika "gdje je e-mail \u003d" ". $ e-pošta." ""); "" "); Ako (! $ Rezultati_Query_Select) (// Spremanjem poruku o pogrešci na sesiju. $ _Session ["error_messages"]. \u003d "

Zatražite grešku u uzorku korisnika iz baze podataka

"; // Vratite korisnika na stranicu zaglavlja na stranicu zaglavlja (" HTTP / 1.1 301 premještena); zaglavlje ("Lokacija:". $ Address_site. "/ Form_auth.php"); // Pokrenite izlaznu skriptu (); ) Drugo (// Provjerite ima li korisnika s takvim podacima u bazi podataka, a zatim prikažite poruku o pogrešci ($ rezultat_query_select-\u003e num_rows \u003d\u003d 1) (// ako se uneseni podaci poklapaju s podacima iz baze podataka, a zatim Spremanjemo prijavu i lozinku za niz sesija. $ _Session ["e-mail"] \u003d $ e-poštu; $ _Session ["lozinka"] \u003d $ lozinka; // Vratite korisnika na početnu stranicu zaglavlja ("http / 1.1 301 Premješteno "); zaglavlje (" Lokacija: ". $ Address_site." / Index.php ");) drugo (// Spremite poruku o grešci na sesiju. $ _Session [" error_messages "]. \u003d"

Netačno korisničko ime i / ili lozinka

"; // Vratite korisnika na stranicu za autorizaciju zaglavlja (" HTTP / 1.1 301 se stalno pomiče "); zaglavlje (" Lokacija: ". $ Address_site." / Form_auth.php "); // Pokrenite izlaznu skriptu (); )))

Izlaz sa stranice.

I posljednje što shvatimo je izlazna procedura sa stranice. Trenutno, u zaglavlju nudimo veze do stranice za autorizaciju i na stranici za registraciju.

U kapici za web stranicu (datoteka) zaglavlje.php.), Koristeći sesiju, provjeravamo je li korisnik već ovlašten. Ako ne, prikazujemo veze i linkove za autorizaciju, u suprotnom (ako je ovlašteno), umjesto registracijskih i linkova autorizacije, prikazujemo vezu Izlaz.

Izmijenjeni komad koda iz datoteke zaglavlje.php.:

provjeri

Izlaz

Kada kliknete na izlaznu vezu sa stranice, padnemo u datoteku prijavite se.php.gdje jednostavno uništavaju ćelije s poštanskom adresom i lozinkom sa sesije. Nakon toga vratite korisnika na stranicu na kojoj je veza pritisnuta izlaz.

Kod datoteka logout.php:

To je sve. Sad znate kako implementirati i obrasce za registraciju i autorizaciju Korisnik na vašoj web lokaciji. Ovi se obrasci nalaze gotovo na svakoj web lokaciji, tako da bi svaki programer trebao znati kako ih stvoriti.

Naučili smo i provjeriti unesene podatke na strani klijenta (u pretraživaču, koristeći JavaScript, jQuery) i na strani poslužitelja (koristeći PHP jezik). Takođe smo naučili implementirati postupak izlaza sa stranice.

Sve skripte su provjerene i radnike. Arhiva možete preuzeti sa datotekama ovog male web lokacije na ovoj vezi.

Ubuduće ću napisati članak u kojem ću opisati. I planiram da napišem članak u kojem ću objasniti, (bez ponovnog pokretanja stranice). Dakle, da biste bili svjesni puštanja novih članaka, možete se pretplatiti na moju stranicu.

Ako imate pitanja, molimo kontaktirajte i ako ste primijetili neku grešku u članku koji vas pitam, javite mi za to.

Plan lekcije (Dio 5):

  1. Kreirajte HTML strukturu za obrazac za autorizaciju
  2. Obrada dobivenih podataka
  3. Recite korisničkim pozdravom u zaglavlju stranice

Da li vam se svidio članak?



Ako primijetite grešku, odaberite fragment teksta i pritisnite Ctrl + Enter
Podijelite:
Savjeti za izgradnju i popravak