Tunnus ja salasana

Miten tunnuksen ja salasanan tarkistus kannattaa tehdä?

Haetaanko tietokannasta rivi missä tunnus="$tunnus" ja salasana="$salasana" vai miten?

Entäs tunnuksen lisäys? Kannattako ensin tarkistaa, ettei tietokannasta löydy jo samannimistä tunnusta (sähköpostiosoitetta), vai suoran lisätä uusi tunnus, ja katsoa antaako tietokanta virheen (UNIQUE) sarakkeiden kohdalla?

Miten ammattilaiset tekevät tämän?
2288
Äänestä

Muut lukivat myös

Vastaukset 2

Vanhimmat

kannattaa lukaista php:n dokumentaatio funktiosta mysql_real_escape_string:
http://fi2.php.net/mysql_real_escape_string

ja itse en tallenna tietokantaan "selkokielisiä" salasanoja, vaan esimerkiksi sha1 summa, ettei salasanoja saa selville, vaikka jonkin bugin takia tietokantaan pääsisikin...

ammattailaisena en ehkä itseäni pidä, vaikka joskus töissä pitääkin jotain pientä php:llä koodailla..

Äänestä

Tallennetaan tauluun käyttäjästä id (juokseva numero), tunnus, kirjautumishetki ja HASH-arvo joka lasketaan vaikkapa tunnuksesta, kirjautumishetkestä, salasanansta ja "salaisesta" stringistä (jonka voi vaikka kovakoodata sinne sivulle jos ei muuta jaksa viritellä).

Kun käyttä sitten kirjautuu haetaan tunnuksella kannasta rivi, lasketaan uusiksi hash-arvo ja verrataan kantaan tallennettuun. Jos natsaa, pääsee sisään. Jos ei, ei kelpaa.

Salasanaa muutettaessa on HASH-arvo laskettava uusiksi.

HUOM: aina käytettävä samoja arvoja laskentaan.

Itse olen yleensä käyttänyt MD5 hashia. Ei maailman turvallisin, mutta luulisin olevan riittävä. :-)

Äänestä

Kommentoi aloitusta


ja MySQL kirjoitti:

Miten tunnuksen ja salasanan tarkistus kannattaa tehdä?

Haetaanko tietokannasta rivi missä tunnus="$tunnus" ja salasana="$salasana" vai miten?

Entäs tunnuksen lisäys? Kannattako ensin tarkistaa, ettei tietokannasta löydy jo samannimistä tunnusta (sähköpostiosoitetta), vai suoran lisätä uusi tunnus, ja katsoa antaako tietokanta virheen (UNIQUE) sarakkeiden kohdalla?

Miten ammattilaiset tekevät tämän?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu