⊗ppPmAuRHS 424 of 447 menu

Sooli lisamine registreerimisel

Niisiis, te juba teate, et räsimine läbi md5 - on pöördumatu protsess ja häkker, kes saab juurdepääsu räsile, ei saa selle räsi abil parooli tagasi saada.

Tegelikult ei ole see väide täiesti õige - praegu on pahad häkrid koostanud populaarsete ja mitte nii populaarsete paroolide räside raamatukogud ja iga hull saab parooli ära arvata, lihtsalt otsides selle räsi Google'ist.

Jutt on piisavalt lihtsatest, populaarsetest paroolidest.

Otsige Google'ist näiteks räsi 827ccb0eea8a706c4c34a16891f84e7b ja kohe Google'i otsingus näete, et see on parool '12345'.

Piisavalt keeruliste paroolide räsisid sellisel viisil ära arvata ei saa (proovige).

Te võite küsida, mis siis probleem on - paneme kõik end registreerima keeruliste paroolidega. Siiski on probleem olemas - enamik kasutajaid ei mõtle oma andmete turvalisusele ja võivad sisestada piisavalt lihtsaid paroole.

Me võime registreerumisel sundida kasutajaid leiutama pikemaid paroole, piirades näiteks minimaalset sümbolite arvu 6 või 8-ga, kuid siiski tekivad paroolid nagu '123456' või '12345678'.

Võib muidugi leiutada targema algoritmi parooli keerukuse kontrollimiseks, kuid on olemas teine lahendus.

Selle lahenduse sisu on järgmine: paroole tuleb soolata. Sool on spetsiaalne juhuslik string, mis lisatakse paroolile registreerumisel ja räsi arvutatakse mitte lihtsalt paroolist, vaid stringist sool+parool, see tähendab soolatud paroolist.

See tähendab, et registreerumisel teete umbes midagi sellist:

<?php $salt = '1sJg3hfdf'; // sool - keerukas juhuslik string $password = md5($salt . $_POST['password']); // teisendame parooli soolatud räsiks ?>

Sel juhul on sool iga kasutaja jaoks erinev, see tuleb juhuslikult genereerida registreerumise momendil.

Siin on valmis funktsioon, mis teeb selle:

<?php function generateSalt() { $salt = ''; $saltLength = 8; // soola pikkus for($i = 0; $i < $saltLength; $i++) { $salt .= chr(mt_rand(33, 126)); // sümbol ASCII-tabelist } return $salt; } ?>

Selle funktsiooni abil saame meie koodi ümber kirjutada nii:

<?php $salt = generateSalt(); // sool $password = md5($salt . $_POST['password']); // soolatud parool ?>

Kordan veelkord, et need olid muutused registreerumisel - andmebaasi salvestame mitte lihtsalt parooli räsi, vaid soolatud parooli räsi.

See pole veel kõik: kasutajate tabelis peale väljade login ja password on vaja teha ka väli salt, kus me hoiame iga kasutaja soola.

Realiseerige ülalkirjeldatud registreerimine soolatud parooliga.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu