Jag använder en SQL-sträng som ser ut så här i min inloggningssida (ASP). 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. Kan det vara så att själva databasen är inställd på case-insensitive eller nåt sånt? Du kan testa; 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. 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 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. Ok, låter ju smart. Vad behöver man för kod för att skapa och kontrollera MD5-hash?skift-känslig sökning i SQL-sträng
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...Sv: skift-känslig sökning i SQL-sträng
/JohanSv: skift-känslig sökning i SQL-sträng
mvh ÅsaSv: skift-känslig sökning i SQL-sträng
SELECT Users.*
FROM Users
WHERE Users.UserName="Anna" AND StrComp(Users.UserPassword,"Apa",0) = 0;
Sv: skift-känslig sökning i SQL-sträng
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.
/ÅsaSv:skift-känslig sökning i SQL-sträng
Sv: skift-känslig sökning i SQL-sträng
/ÅsaSv: skift-känslig sökning i SQL-sträng