Pereiti prie turinio

PDO registracija/login


Rekomenduojami pranešimai

Sveiki, galbūt kas nors galėtų pasidalinti tikrai saugiu bei be klaidų parašytu PDO login/register? Svarbiausia jog būtų saugus ir password hash'inimas. Taip, naudojausi google, bet po kiekviena pamoka komentuojamos klaidos, kurios tikrai negundo siekiant nukopijuoti ir išsinagrinėti kodą.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Registracijos kodas :

 

<?php
require 'connect.php';
$stmt = $dbh->prepare("insert into users(username, email, password, name, skype, town) values (?,?,?,?,?,?)");
$stmt->bindParam(1, $username);
$stmt->bindParam(2, $email);
$stmt->bindParam(3, $pwd);
$stmt->bindParam(4, $name);
$stmt->bindParam(5, $skype);
$stmt->bindParam(6, $town);
$username = $_POST["fname"];
$email = $_POST["email"];
$pwd = password_hash($_POST["pwd"], PASSWORD_DEFAULT);
$name = $_POST["name"];
$skype = $_POST["skype"];
$town = $_POST["town"];
$stmt->execute();
echo "<p>Thank you for registering!</p>";
?>

 

 

Galbūt kas nors galite parašyti, kaip atrodytų saugus prisijungimas ir paaiškinti, kaip kituose failuose išgauti ar vartotojęs prisijungęs ar ne? (Naudojau password_hash (bcrypt))

Redagavo SysRqDesign
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kad prisijungimas butu saugus, visu pirma reikia tureti ijungta SSL. SSL naudosi tam, kad pokalbis su vartotoju butu sifruotas, o ne prieinamas bet kam, kas sedi tame paciame tinkle.

 

Antra, 'saugus prisijungimas' nelabai geras issireiskimas siuo atveju. Vartotojui prisijungiant, vienintelis dalykas, ka galima padaryti, tai patikrinti ar gauti duomenys atitinka duomenis duomenu bazeje. Kad ta padaryti, noresi istraukti prie username priregistruota password ir ji patikrinti su password_verify(). Jei duomenys atitinka, tada vartotojas yra prijungiamas.

 

Del state islaikymo (ar prisijunges), pats lengviausias variantas, tai issaugoti state i session. Ir tuo metu, kai vartotojas vaikscios per puslapius, tikrinti session duomenis, ar jis vis dar prisijunges. Taciau, saugant vien i session, reiks kad kiekviena karta pasibaigus sesijai (uzdarius narsykle ar nieko nedarius ilgesni laika (kuris priklauso nuo serverio nustatymu)), vartotojas bus atjungtas is sistemos.

 

Kad nereiktu vartotojui prisijungineti kiekviena karta, session id galima saugoti i cookie ir pagal ji tikrinti, ar vartotoja prijungti is naujo ar ne (taciau tai mazina sistemos sauguma). Ir siuo atveju, greiciausiai noresi perkelti session data is standartinio rasymy i faila i rasyma i duomenu baze, nes taip bus lengviau jas 'suvaldyti' (ir tuo paciu, jei serveris nera jusu paciu, o prieinamas tretiesiems asmenims, tai padidins sauguma).

 

Yra dar ne vienas budas, kaip pagerinti sauguma, bet teks paciam apie tai paieskot.

Siulyciau persiskaityti: "McGraw Hill - 24 Deadly Sins of Software Security Programming Flaws and How to Fix Them"

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Registracijos kodas :

 

<?php
require 'connect.php';
$stmt = $dbh->prepare("insert into users(username, email, password, name, skype, town) values (?,?,?,?,?,?)");
$stmt->bindParam(1, $username);
$stmt->bindParam(2, $email);
$stmt->bindParam(3, $pwd);
$stmt->bindParam(4, $name);
$stmt->bindParam(5, $skype);
$stmt->bindParam(6, $town);
$username = $_POST["fname"];
$email = $_POST["email"];
$pwd = password_hash($_POST["pwd"], PASSWORD_DEFAULT);
$name = $_POST["name"];
$skype = $_POST["skype"];
$town = $_POST["town"];
$stmt->execute();
echo "<p>Thank you for registering!</p>";
?>

 

 

Galbūt kas nors galite parašyti, kaip atrodytų saugus prisijungimas ir paaiškinti, kaip kituose failuose išgauti ar vartotojęs prisijungęs ar ne? (Naudojau password_hash (bcrypt))

Sesija. Šiaip jau pasimokyk pagrindus, nereiks kiekvieno dalyko klausinėti. :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...