skift-känslig sökning i SQL-sträng
Jag använder en SQL-sträng som ser ut så här i min inloggningssida (ASP).
SELECT authorityLevel FROM authorities WHERE userName = "användarnamnet" AND password = "lösenordet".
Problemet är att sökningen inte är skift-känslig, vilket betyder att om lösenordet är "AbC" så accepteras även "abc", "ABC", "aBc", osv.
Hjälp...
Svara
Sv: skift-känslig sökning i SQL-sträng
Ett sätt är att hämta ut lösenordet från databasen och jämföra med det inmatade, en vanlig strängjämförelse är ju casesensitive.
/Johan
Svara
Sv: skift-känslig sökning i SQL-sträng
Kan det vara så att själva databasen är inställd på case-insensitive eller nåt sånt?
mvh Åsa
Svara
Sv: skift-känslig sökning i SQL-sträng
Du kan testa;
SELECT Users.* FROM Users WHERE Users.UserName="Anna" AND StrComp(Users.UserPassword,"Apa",0) = 0;
Svara
Sv: skift-känslig sökning i SQL-sträng
Aha, ok. Jag trodde det var en extern databas typ sql-server eller oracle du körde mot. Då kanske det blir lite värre. Jag har nämligen märkt att access inte skiljer på stora och små bokstäver om man t.ex gruppperar på ett fält i en rapport och det finns två fält som stavas lika men har olika stora och små bokstäver. Då klumpar access ihop det till samma fält.
Jag har dock bara provat med att skilja på ett tecken och då skrev jag Ascii(fältet) i min sql-fråga. Kanske det kan funka.
/Åsa
Svara
Sv:skift-känslig sökning i SQL-sträng
En annan ide är att lagra lösen ordet som MD5, då skulle HeJ accepteras men antagligen inte heJ, MD5 skapar en hashkod av ditt lösenord vilket kan vara bra ur säkerhetsaspekt också, om någon får tag i din databas har dom svårare att se lösenorden eftersom att dom inte står i klartext
Svara
Sv: skift-känslig sökning i SQL-sträng
Ja jag tänkte också så att man nog inte bör lagra ett lösenord som text eftersom det är jättelätt att få tag på lösenordet då. Sen upptäckte jag att funktionen inte heter Ascii utan Asc men den verkar bara kolla på första bokstaven.
/Åsa
Svara
Sv: skift-känslig sökning i SQL-sträng
Ok, låter ju smart. Vad behöver man för kod för att skapa och kontrollera MD5-hash?
Svara