webForumDet fria alternativet

Trött byta lösenord

ASP

7 svar · 295 visningar · startad av voigtann1

Medlem sedan juni 20019 519 inlägg
Frågan#1
SQL = "Select * from users where username = '" &Request.Cookies("voigt_lan")("username")& "'"
set Recset = databas.execute(SQL)

  if request.querystring("function") = "uptadeuser" then
    namn = request.form("namn")
    gamename = request.form("spelnamn")
    efternamn = request.form("efternamn")
    email = request.form("email")
    computer = request.form("computer")

    if request.form("newpass") <> "" then
      password = request.form("oldpassword")
      oldpass = sha256("" & trim(password))
        if oldpass = recset("password") then
          password = request.form("newpass")
          new_pass = sha256("" & trim(password))
          response.write "<tr><td>Lösenordet byttes till:" &password &"</td></tr>"
        else
          response.write "<tr><td>lösenordet byttes aldrig</td></tr>"
          new_pass = recset("password")
        end if
    else
     new_pass = recset("password")
    end if

    strSQL = "UPDATE users SET "
    strSQL = strSQL & "namn = '"&namn&"', "
    strSQL = strSQL & "password = '"&new_pass&"', "
    strSQL = strSQL & "efternamn = '"&efternamn&"', "
    strSQL = strSQL & "email = '"&email&"', "
    strSQL = strSQL & "spelnamn = '"&gamename&"', "
    strSQL = strSQL & "computer = '"&computer&"' "
    StrSQL = StrSQL & "WHERE username = '"&Request.Cookies("voigt_lan")("username")&"'"
    Databas.Execute( strSQL )
    Response.write "<tr><td>All data ändrad.</td></tr>"
    response.end
  end if

Denna kod håller jag på med.. problemet är:
Jag kan byta lösenord sådär.. typ nu kan man nog skriva i vilket lösenord som hellst i "gamla lösenordet" och så crashar databasen i princip. vad är fel i mina koder?

Medlem sedan mars 20015 287 inlägg
#2

Re: Trött byta lösenord

voigtann1 skrev:

.. typ nu kan man nog skriva i vilket lösenord som hellst i "gamla lösenordet" och så crashar databasen i princip.

Vad menar du egentligen?
"kan man nog" ?
På vilket sätt kraschar databasen?

Medlem sedan juni 20019 519 inlägg
#3

jag vet inte vad den tar för kod egentligen.. på "new_pass" vill jag ju ha det gamla lösenordet om det är fel i "old_pass" jag får inte mitt orginal lösenord eller det nya som jag skrev in i new_pass formen :(

Medlem sedan juni 20019 519 inlägg
#4

vet nog vad problemet är nu... *suck* ska skapa en varibal för recset("password") :e vänta lite återkommer

Medlem sedan mars 20015 287 inlägg
#5

Ok... vad gör din funktion då?

sha256("" & trim(password))
Medlem sedan jan. 20032 285 inlägg
#6

Hur ser funktionen sha256 ut?

Medlem sedan juni 20019 519 inlägg
#7

det är inte min function.. och den fungera :e

det var att recset("password") skulle bli en variabel.. nu fungera det :e

Medlem sedan mars 20021 889 inlägg
#8

Det här

    strSQL = "UPDATE users SET "
    strSQL = strSQL & "namn = '"&namn&"', "
    strSQL = strSQL & "password = '"&new_pass&"', "
    strSQL = strSQL & "efternamn = '"&efternamn&"', "
    strSQL = strSQL & "email = '"&email&"', "
    strSQL = strSQL & "spelnamn = '"&gamename&"', "
    strSQL = strSQL & "computer = '"&computer&"' "
    StrSQL = StrSQL & "WHERE username = '"&Request.Cookies("voigt_lan")("username")&"'"

skulle få vilken avliden VB-scriptare som helst att vrida sig i graven. ;)
Onödiga strängkonkatenering som tar onödig serverkraft. Kör med
strSQL = "kod" &_
"fortsättning"

i stället.

:)

249 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)