/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Kan dette laves nemmere ?
Fra : j p


Dato : 07-05-07 18:41

Kan nogen lave denne program kode nemmere ? Tak

<%

strsql = "Select kodeord From tabel Where lcase(brugernavn) = '"
& lcase(session("loginbrugernavn"))& "'"
Set rs = Conn.Execute(strSQL)
   
if lcase(rs.fields("kodeord")) = lcase(session("loginkodeord"))
then
rs.close
set rs = nothing

strsql = "Select * From breve Where (lcase(modtager) = '" &
lcase(session("loginbrugernavn"))& "') and (sletsender = '0' or
sletsender is null) order by ID desc "
Set rs = Conn.Execute(strSQL)


'her laves videre kode som er ok
%>

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jørn Andersen (07-05-2007)
Kommentar
Fra : Jørn Andersen


Dato : 07-05-07 20:29

On 07 May 2007 17:40:37 GMT, j p <donner_63@hotmail.com> wrote:

>Kan nogen lave denne program kode nemmere ? Tak

Ja - og det kan også laves mere sikkert.

><%
>
>strsql = "Select kodeord From tabel Where lcase(brugernavn) = '"
>& lcase(session("loginbrugernavn"))& "'"
>Set rs = Conn.Execute(strSQL)
>   
>if lcase(rs.fields("kodeord")) = lcase(session("loginkodeord"))
>then

Hvorfor lader du ikke bare SQL'en gøre arbejdet:

strsql = "SELECT kodeord FROM tabel" & _
" WHERE brugernavn = '" & loginbrugernavn & "'" & _
" AND kodeord = '" & loginkodeord & "'"

Set rs = Conn.Execute(strSQL)
If Not rs.eof Then
osv.

- hvor der forinden er sat:
loginbrugernavn = LCase(Session("loginbrugernavn"))
loginkodeord = LCase(Session("loginkodeord"))

Husk at afslutte rs og Conn *uden for* If'en!

Det bør ikke være nødvendigt at bruge LCase i forbindelse med *udtræk*
fra databasen - det bør sættes, inden de gemmes i databasen, hvis man
ikke ønsker, at de skal være versalfølsomme. Ditto for Session-variable.


Men så er der sikkerheden.
Den ene ting er selvfølgelig, at login'en skal være sikret mod
SQL-injektion. Det har du formentlig allerede gjort før den citerede
kode - ellers kig:
<url: http://www.asp-faq.dk/article/?id=95>

Den anden ting er, at du *ikke må* gemme dine passwords i klar tekst -
også selv om det ikke er kronjuvelerne, du skal sikre.

Grunden er, at folk typisk bruger samme passwords til "banale" ting og
til deres mail, webbank etc.

Det betyder, at hvis nogen har misbrugt adgangen til fx en af dine
brugeres webbank, så er du blandt de mistænkte - medmindre du kan vise,
at du slet ikke har adgang til password'et.

Dette gøres nemmest med en hash-funktion - fx MD5 eller SHA1.
I stedet for at gemme strPassword, så gemmer du MD5(strPassword) eller
SHA1(strPassword). Og du sammenligner værdien i databasen med den
hashede værdi af det indtastede fra formularen.

Se:
<url: http://www.asp-faq.dk/article/?id=52>
- hvor der også er links til hash-funktioner, som nemt kan gemmes i en
include-fil.


Good luck!

--
Jørn Andersen,
Brønshøj

j p (07-05-2007)
Kommentar
Fra : j p


Dato : 07-05-07 21:18

Tak for det, det prøver jeg.

endnu engang tak

JP

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408921
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste