Törmäsin vastaavaan joskus SMF:n sourcea tutkiessani, ja ajattelin nyt toteuttaa samanlaisen. Elikkä formin salasana-kenttä heitetään md5:ksi jo ennen lähetystä Javascriptillä.
No loginin kanssa ei sen kummempia, senkun verrataan PHP:lle tullutta salasanaa samantien mysliin, jos käyttäjällä ei ole Javascripti päällä niin kirjautuminen ei onnistu, koska passu on selvälukusena. Tai tietty tuohonkin voi tehdä testin, että jos passu ei ole 32 merkkiä pitkä (md5:n pituus), niin heitetään vielä PHP:llä se md5():n läpi.
No mutta jos yks kirjautuminen ei onnistu sen takia että JS ei ole päällä, ei ole niin vakava asia, mutta ongelma tulee rekisteröinnissä:
Jos sattuu niin, että käyttäjä rekisteröi 32 merkkiä pitkällä salasanalla ja samanaikaisesti ei pidä javascriptiä päällä selaimessa (okei, todella harvinainen sattuma), niin silloin salasana menee selvälukusena tietokantaan.
Yks ratkasu olis ehkä laittaa rekisteröitymisessä JS:llä keksi ja testata sitten PHP:llä onko se keksi olemassa. Onko tämäkään sitten varma keino? Hm.. Vai keksinkö just parhaan varmistuskeinon? No heittäkää vaan ideoita jos niitä on.
Heität sen md5:ksi PHP:llä, ei kai siihen mitään javascriptejä tarvii..?
Muuta Javascriptillä formin action-kenttää toiseen filuun "receiveRegisterationJsOn.php", oletuksena se voisi olla "receiveRegisterationJsOff.php". Tuon voit vaikka firettää sitten varmaankin jopa onSubmit-eventtiin, jolloin homma ei sekoa edes siinä vaiheessa kun käyttäjä saapuu sivulle JS päällä, mutta disabloi sen sivunlatauksen jälkeen.
Katos, ekan viestin pysty poistamaan ilman että aihe poistuu :D. No mut eipä mitään sittenkään, turhahan tuo on, koska aivan sama jos joku sen pöllii HTTP yhteydestä sen passun, niin jos se lähetetään md5:nä, ni tottakai se varaskin voi logata sisään sil md5:ks muutetul passul :d
Hm.. mitähän tollanen ominaisuus sitten teki SMF:n sourceissa.. :o
E: WTF, foorumi sekos täysin. Tää aihe näkyy uusimpana täl alueel, mut sitä ei näy enää aihelistaukses O.o
Hashaus JS:llä on tavallaan ihan fiksua, koska salasana ei silloin liiku verkossa selväkielisenä, vaikka ei edes käytettäisi salattua yhteyttä. Muista kuitenkin suolata salasanat satunnaisilla merkkijonoilla, suolaamaton MD5 on aika huono. Pitää sitten tietysti lähettää myös se suola palvelimelle.
Aihe on jo aika vanha, joten et voi enää vastata siihen.