Avatar billede okidoky Nybegynder
01. september 2006 - 12:04 Der er 5 kommentarer

Md5 med asp

Hej

Jeg har en lille form med registreing, når en bruger registrere sig, bliver der sendt en email til brugeren, hvor han skal confirm hans konti, hvordan kan man sende linket til brugeren til hans mail, den jeg sender ser sådan ud

f.eks:
confirm.asp?fhrdd=drrgtsevsdf&id=7&u=E807F1FCF82D132F9BB018CA6738A19F

hvordan kan jeg sende den uden ID, så andre ikke kan gøre noget ved linket, og hvordan kan jeg finde rækken i db når jeg ikke har id med ????
Avatar billede fennec Nybegynder
01. september 2006 - 12:43 #1
Har du ikke brugt min kode fra:
http://www.eksperten.dk/spm/729046

Der gemmer man id'et i hashen, og trækker det ud igen (getSecureID funktionen)
Avatar billede fennec Nybegynder
01. september 2006 - 12:52 #2
Ideen bag hash er at det er "one way". Du kan ikke ud fra hashen finde den oprindelig data. Derfor skal du have ID'et med, men da det er gemt i hash koden, ved ingen hvad der er hvad. Fpeks hvis vi hashede 123 værdien og det gav hashkoden:
E807F1FCF82D132F9BB018CA6738A19F

Ville det med min kode blive:
E807F1FCF81232D132F9BB018CA6738A19F

getSecureID funktionen vil så returnere "123". Hvis man begynder at pille ved hashkoden, vil den returnere "Forkert ID".
Avatar billede okidoky Nybegynder
01. september 2006 - 18:23 #3
ja men for at være ærlig ... ved jeg ikke hvordan jeg skal bruge den . jeg er ved at lære asp. kan du hjælpe med med at bruge den og hvad den laver måske , sådan kort?
Avatar billede okidoky Nybegynder
01. september 2006 - 18:25 #4
det er jeg skal have er bare, når jeg sender email til brugeren med id i , skal den være krypteret, når han kliker på den , og min scipt bliver åben, skla den kunne læse id, så den kan hente den fra db
Avatar billede fennec Nybegynder
04. september 2006 - 12:07 #5
Hent denne fil:
http://asp-faq.dk/kildekode/md5.zip

Pak den ud, og snup md5.asp filen (det er den eneste der skal bruges)

Lav så en secure.asp fil med følgende kode:
<!--#include file="md5.asp"-->
Function secureID(fID)
dim fTmp, fSecurityTekstString
  fSecurityTekstString = "HemligText"
  fSecurityTekstString = fSecurityTekstString & date()
  fTmp = md5(fSecurityTekstString & fID)
  fTmp = left(fTmp, 10) & fID & mid(fTmp,11)
  secureID = fTmp
end Function

Function tjeckSecureID(fKode)
dim fTmp, fRetur, fHash, fID, fSecurityTekstString
  fSecurityTekstString = "HemligText"
  fSecurityTekstString = fSecurityTekstString & date()
  fTmp = fKode
  if len(fTmp) <= 32 then
    fRetur = false
  else
    fHash = left(fKode,10) & mid(fKode,11+len(fKode)-32)
    fID = mid(fKode,11, len(fKode)-32)
    if md5(fSecurityTekstString & fID) = fHash then
        fRetur = true
    else
      fRetur = false
    end if
  end if
  tjeckSecureID = fRetur
end Function

Function getSecureID(fKode)
  if tjeckSecureID(fKode) then
    getSecureID = mid(fKode,11, len(fKode)-32)
  else
    Response.write "Forkert ID."
    response.end
  end if
end function

md5.asp filen skal ligge i samme mappe. På den/de sider du skal bruge funktionerne inkludere du secure.asp filen:
<!--#include file="secure.asp"-->

De er så klar til brug:
[test1.asp]
<!--#include file="secure.asp"-->
<html>
<body>
SecureID = <%= secureID(7) %>
</body>
</html>

Og decode:
[test2.asp]
<!--#include file="secure.asp"-->
<html>
<body>
DecodeID = <%= getsecureID("SmidKodenFraTest1IndHer") %>
</body>
</html>

Den kode vil du selvfølgelig skrive/hente fra en url i stedet:
<a href="confirm.asp?ID=<%= secureID(7) %>">klik</a>

<%
getID = getsecureID(request.querystring("ID"))
%>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester