webForumDet fria alternativet

slumpa databas inlägg

ASP

24 svar · 1 144 visningar · startad av noshornin · sida 2 av 2

Frågan, av noshornin

Tjenare. Jag stör mig på alla dom dära små tecknen. Jag vill slumpa fram en rad i databasen. <% Dim Slumptal Randomize Slumptal = Int(Rnd 10) %> <% Set RecSet = Server.CreateObject("ADODB.Recordset") Visa = "SELECT FROM users where id = '" & Slumptal & "'" RecSet.Open Radera, oConn, adOpenStatic, adLockOptimistic %> Vad har jag gjort för fel?

Läs frågan i sin helhet →
Medlem sedan dec. 2004736 inlägg
#21

Vad du ska göra är att du ska fråga databasen efter raden där användarnamn och lösenord stämmer, inte plocka ut allt och sen leta, det blir onödigt jobb.
SQL = "SELECT userId, ... FROM tblUsers WHERE userName = '" & userName & "' AND userPassword = '" & userPassword & "'"

Medlem sedan aug. 2008815 inlägg
#22

Ledel skrev:

Vad du ska göra är att du ska fråga databasen efter raden där användarnamn och lösenord stämmer, inte plocka ut allt och sen leta, det blir onödigt jobb.
SQL = "SELECT userId, ... FROM tblUsers WHERE userName = '" & userName & "' AND userPassword = '" & userPassword & "'"

Det var precis så jag gjorde.

Medlem sedan juni 20008 205 inlägg
#23

noshornin skrev:

Det ända dåliga med inloggningen är väl att den enbart ser om användarnamnet och lösenordet man skriver finns i data basen.
Inte om dom tillhör samma acc?
Men om man ändrar det till att både användarnamnet och lösenordet måste ha samma id, funkar det riktigt bra.. :l

Nej, ändrar man det till att de ska ha samma ID funkar det - därmed inte sagt att det är bra. Tvärtom, att själv loopa över varenda konto i databasen och kolla namn/lösen är är absurt dåligt. Använder man villkorad sökning, typ SELECT * FROM users WHERE username = 'användarnamn' AND password = 'lösenord' kan databasen exempelvis använda index för sökningen, vilket gör att den inte blir skitseg när man får ~200 användare. red. Såg att ni redan avhandlat det här. Resten gäller fortfarande:

Hela tutorialen är fylld av massivt dåliga kodexempel, det diskuteras inte hur man ska kontrollera och säkra in- och utdata, så den är fylld av säkerhetshål. Bygger du upp en sida baserad på den tutorialen kommer du - förutom att ha ful, ineffektiv och svårunderhållen kod - vara extremt sårbar för både cross-site scripting och SQL injections (sök här på forumet). Som överkurs kan man ju också nämna att lösenord ska under inga som helst omständigheter ligga i klartext i en databas, utan ska hashas så att de inte går att använda ens om man kommer över databasen (vilket är lätt att göra, eftersom alla exempel förespråkar att man ska lägga databasen under webbroten).

Medlem sedan aug. 2008815 inlägg
#24

spango skrev:

Hela tutorialen är fylld av massivt dåliga kodexempel, det diskuteras inte hur man ska kontrollera och säkra in- och utdata, så den är fylld av säkerhetshål. Bygger du upp en sida baserad på den tutorialen kommer du - förutom att ha ful, ineffektiv och svårunderhållen kod - vara extremt sårbar för både cross-site scripting och SQL injections (sök här på forumet). Som överkurs kan man ju också nämna att lösenord ska under inga som helst omständigheter ligga i klartext i en databas, utan ska hashas så att de inte går att använda ens om man kommer över databasen (vilket är lätt att göra, eftersom alla exempel förespråkar att man ska lägga databasen under webbroten).

Ok... Finns det någon annan tutorial på internet som är bättre dåda?

Medlem sedan juni 20008 205 inlägg
#25

Ingen tutorial som lär ut Classic ASP idag är en bra tutorial. http://www.w3schools.com/asp är inte lika kataklysmiskt dålig, även om de glatt sprutar ur sig SQL-injektioner och öppnar för cross-site scripting till höger och vänster. Som sagt, de flesta ASP-tutorials som ligger ute och skvalpar på nätet verkar vara skrivna av folk som är bedrövligt dåliga på att programmera.

286 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
151 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)