Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP merkkijonon tarkistus MySQL-tietokannasta

Sivun loppuun

Hoover [19.12.2006 11:40:42]

#

Elikkäs, ongelma on sellainen kun minulla on käyttäjätunnus MySQL-tietokannassa, niin pitäisi PHP:n puolelle tehdä tarkistus, että ISOT ja pienet merkit huomioidaan.

Nykyisellään minulla on vain login-kenttään syötetyn merkkijonon mukaan haku tietokannasta ja jos tietokannasta löytyy yksi rivi, niin tunnus on oikein. Tämä toimii tarkoitukseeni oikein hyvin, mutta ei ota huomioon ISOJA ja pieniä kirjaimia. Miten sen voisi laittaa huomioimaan ne?

Esim.
1. Erkki74 kirjautuu.
2. SELECT login FROM kayttaja WHERE login = $loginKentanArvo
- tässä kohtaa löytyy aina arvoja vaikka olisi kirjauduttu erkki74 tunnuksella

ajv [19.12.2006 13:00:01]

#

http://dev.mysql.com/doc/refman/5.0/en/case-sensitivity.html

Eli jotakuinkin
SELECT name FROM users WHERE name COLLATE latin1_bin = 'Hoover'

Asdin [19.12.2006 13:07:37]

#

Voit myös tehdä tarkistuksen tähän tapaan, joka on case-sensitive:
if($login_name == $mysql_result) { // login }

Käsittääkseni nyt teet sen kutakuinkin näin:
if($mysql_result) { // login }

tsuriga [19.12.2006 13:16:03]

#

Myslin resultsettihän on resurssi, joten sitä ei suoraan verrata. Ja muutenkin, jos tiedossa on molempien muuttujien muuttujatyypit niin sama käyttää === operaattoria. Ja mitä haittaa siitä on vaikka isojen ja pienten kirjainten välille ei tehdä eroa? Päinvastoin, minusta on käyttäjänä moinen oikein hyödyllinen ominaisuus.

ajv [19.12.2006 13:22:29]

#

tsuriga kirjoitti:

Ja mitä haittaa siitä on vaikka isojen ja pienten kirjainten välille ei tehdä eroa? Päinvastoin, minusta on käyttäjänä moinen oikein hyödyllinen ominaisuus.

Jep, itekkin kyllä tykkään että nimimerkki on case-insensitive kenttä. Ja että tietokantaan ei voi laittaa kahta eri käyttäjää Eki ja eki.

Hoover [19.12.2006 13:46:03]

#

Mutta entäpä kun muunnetaan salasana -> MD5, niin onko pikkumerkki sama kuin iso? Lähinnä tämän takia ajattelin muuntaa casesensitiveksi.

tgunner [19.12.2006 14:21:51]

#

Tottakai salasanan pitää olla case-senssi, mutta minusta käyttäjänimen on hyvä olla case-insensitive. Perustelut sanoikin jo ajv.

ajv [19.12.2006 14:24:26]

#

Hoover kirjoitti:

Mutta entäpä kun muunnetaan salasana -> MD5, niin onko pikkumerkki sama kuin iso? Lähinnä tämän takia ajattelin muuntaa casesensitiveksi.

Salasanan tallennus MD5-hashattuna tekee salasanasta case sensitiven, sillä MD5(eki) <> MD5(Eki)
Lisätietoa vaikka wikipediasta

tkarkkainen [19.12.2006 14:25:01]

#

MD5 on case-sensitive.

Hoover [20.12.2006 09:16:13]

#

Roger, asia tällä selvä.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta