Ga naar inhoud

[ASP] - Cookie probleem


anoniem

Aanbevolen berichten

Ik heb een inlog-pagina gemaakt die het wachtwoord moet onthouden. Deze bevat boven de HTML-code de volgende ASP-code: [code:1:f30fc8119e]<% DIM Loginnaam DIM Wachtwoord Loginnaam = Request.Cookies("Profiel")("Loginnaam") Wachtwoord = Request.Cookies("Profiel")("Wachtwoord") %>[/code:1:f30fc8119e] Op de inlog_verwerken-pagina heb ik de volgende code staan die de Cookie bakt: [code:1:f30fc8119e]<% Loginnaam = REPLACE(REQUEST.FORM("Loginnaam"), "'", "''") Wachtwoord = REPLACE(REQUEST.FORM("Wachtwoord"), "'", "''") Onthouden = REQUEST.FORM("Onthouden") IF Onthouden = "ON" THEN Response.Cookies("Profiel").Expires=date+365 Response.Cookies("Profiel")("Loginnaam")= Loginnaam Response.Cookies("Profiel")("Wachtwoord")= Wachtwoord END IF %> [/code:1:f30fc8119e] Maar als ik opnieuw wil inloggen dat onthoud hij de ingevulde waardes niet. Wat doe ik verkeerd?
Link naar reactie
Foutje.... de .asp pagina werd niet helemaal ingeladen. Nu werkt het. Volgend probleempje: Ik wil de waarden in de cookie encrypten. Ik heb inmiddels de volgende code: [code:1:68dfe8ad07]Private Function Encrypt(strOriginal) Dim strNew ' As String Dim i ' As Integer For i = 1 To Len(strOriginal) If strNew <> "" Then strNew = strNew & "-" End If strNew = strNew & _ Asc(Mid(strOriginal, i, 1)) + 20 Next ' i Encrypt = strNew End Function[/code:1:68dfe8ad07] Hoe kan ik mijn waarde nu door deze routine heen laten gaan?
Link naar reactie
Bedoel je hoe je de ge-encrypte waarde weer in je hoofdroutine krijgt? Gaat als volgt: Wachtwoord = Encrypt(Wachtwoord) Response.Cookies("Profiel")("Wachtwoord")= Wachtwoord ... enz. M.a.w. je roept de functie aan met als argument de variable Wachtwoord. Het resultaat zet je in een variabele met dezelfde naam (tenzij je het origineel natuurlijk nog ergens voor nodig hebt).
Link naar reactie
Het encrypten lukt, maar ik krijg een foutmelding als ik ga decrypten: [quote:d4d6e68a4c]Microsoft VBScript runtime error '800a000d' Type mismatch /temp/encrypten.asp, line 6 [/quote:d4d6e68a4c] Bij de volgende code: [code:1:d4d6e68a4c]Private Function Decrypt(strEncrypted) Dim strNew 'As String Dim a_strCharacters() 'As String Dim i ' As Integer a_strCharacters = _ Split(strEncrypted, "-") For i = 0 To UBound(a_strCharacters) strNew = strNew & _ Chr(CInt(a_strCharacters(i)) - 20) Next ' i Decrypt = strNew End Function[/code:1:d4d6e68a4c]
Link naar reactie
Ik heb hier een tijd naar zitten kijken en eerlijk gezegd snap ik niet echt de manier van versleutelen ('t is tenslotte al laat ;)). Los daarvan kun je zelf wel uitvinden wat er precies fout gaat. Ik neem aan dat regel 6 de volgende regel is: [code:1:a17d6937f9] strNew = strNew & Chr(CInt(a_strCharacters(i)) - 20) [/code:1:a17d6937f9] Er kunnen verschillende dingen fout gaan: - de conversie naar de integer: het argument is leeg of bevat geen numerieke waarde - De Chr-functie werkt niet helemaal lekker. Ik weet niet wat er gebeurt bij waarden kleiner dan 0 en groter dan 255. Je kunt het volgende doen: Deze regel opsplitsen in meerdere regels en telkens het resultaat naar het scherm wegschrijven. Dan krijg je iets als dit: [code:1:a17d6937f9] For i = 0 To UBound(a_strCharacters) response.write "i: " & i teken = a_strCharacters(i) response.write "<br>Teken: " & teken intTeken = CInt(teken) - 20 response.write "<br>Integer: " & intTeken ascii = Chr(intTeken) response.write "<br>ASCII: " & ascii strNew = strNew & ascii response.write"<br>String: " & strNew Next [/code:1:a17d6937f9] Ik denk dat je op deze manier de fout vlug boven water hebt. Suc6.
Link naar reactie
[quote:910ccd69b7="Bigfoot"]Ik heb hier een tijd naar zitten kijken en eerlijk gezegd snap ik niet echt de manier van versleutelen ('t is tenslotte al laat ;)). [/quote:910ccd69b7] Da's geen excuus ;) De functie is de term encryptie bijna niet waardig. Overigens is de fout zo verholpen door dit te veranderen: Dim a_strCharacters() 'As String in dit: Dim a_strCharacters 'As String
Link naar reactie
Er zijn hele websites volgeschreven over de verschillende encryptie methoden dus dat moet zo gevonden zijn. Overigens moet je wel bedenken dat je voor het gebruik daarvan in ASP vaak een losse component nodig hebt die op de server geinstalleerd moet zijn/worden. Overigens zijn er waarschijnlijk ook wel wat betere vbscript encryptie functies te vinden (zeker one-way encryptie).
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...