⊗ppPmAuHs 423 of 447 menu

Salasanan hashaus PHP:llä

Salasanan tallentaminen avoimessa muodossa on väärin. Hakkeri-pahantahtoinen henkilö voi saada pääsyn tietokantaasi ja varastaa salasanat.

Sen vuoksi yleensä kirjautumistunnus tallennetaan avoimessa muodossa, ja salasana hashataan erityisellä funktiolla md5, joka ottaa parametrina salasana, ja palauttaa sen hashin, josta ei voi palauttaa itse salasanaa.

Etsitään esimerkiksi minkä tahansa merkkijonon hash:

<?php echo md5('12345'); // tulostaa '827ccb0eea8a706c4c34a16891f84e7b' ?>

Nyt meidän on muutettava rekisteröintimme ja kirjautumisemme. Aluksi suosittelisin tyhjentämään käyttäjätaulun, koska siellä on nyt tallennettuna salasanat avoimessa muodossa, kun niiden pitäisi olla tallennettuna niiden hashit. Sitten testauksen yhteydessä taulu täyttyy tiedoilla uudessa muodossa.

Korjataan nyt rekisteröintiämme siten, että kun uusi käyttäjä tallennetaan tietokantaan, lisätään ei salasanaa, vaan sen hash.

Kuvattu korjaus on jotain tällaista:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // muunnetaan salasana sen hashiksi $query = "INSERT INTO users SET login='$login', password='$password'"; ?>

Tehdään vastaavat muutokset kirjautumiseen:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // muunnetaan salasana sen hashiksi $query = "SELECT * FROM users WHERE login='$login' AND password='$password'"; ?>

Tee muutokset rekisteröintiin ottaen huomioon hashaus, rekisteröi pari uutta käyttäjää, varmista, että heidät lisättiin tietokantaan hashatuilla salasanoilla.

Tee muutokset kirjautumiseen ottaen huomioon hashaus, yritä kirjautua aikaisemmin rekisteröityjen käyttäjien tunnuksilla.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää