Verwijderd schreef op 14 oktober 2004 @ 16:49:
[...]
Maar die meegestuurde
x waarde kunnen ze toch ook opvangen?
Hoe controleer je dan tegen de database of je pwd klopt als de waarde
x elke keer verandert? Aan wat voor soort berekening moet ik dan denken?
Goed, iets anders uitgelegd.
Je hebt een inlog script met 2 velden, een username veld en een password veld. Je wilt niet dat mensen je password kunnen onderscheppen, dus je encrypt dit d.m.v. javascript, maar als mensen nu het geëncrypte wachtwoord onderscheppen, kunnen ze nog steeds inloggen, ze kunnen immers de opgevangen data verzenden naar de server, dus wat je wilt is bij iedere POST een uniek iets toevoegen. Wat je dus in feite moet doen is dit:
Als iemand op de login pagina komt, stuur je d.m.v. php ook een hidden veld mee waarin een unieke key staat (een cijfer o.i.d.) Als het formulier vervolgens gesubmit wordt, stop je de username, het password en die key bijelkaar, en je encrypt het. Dan pas verstuur je de data naar je server. In je php script dat de login controleerd doe je hetzelfde, je voegt de username, het password en die key weer samen, en je encrypt dit. Vervolgens vergelijk je die 2 gegevens met elkaar, die zouden overéén moeten komen. Als de verzonden data dus anders was, klopt of het wachtwoord niet, of de username of er zat geen key bij/de key was fout.
Doordat je dus iedere keer een andere key gebruikt (random) kan iemand die die gegevens onderschept er niets mee, want de key is bij iedere aanvraag weer anders en dus kan hij/zij er nog niets mee
edit:
Nou, je zou denken dat het na 4 posts met uitleg toch wel duidelijk moet zijn

Nadeel van bovenstaand schema is dat de server beschikking moet hebben over een ongecodeerd wachtwoord, maar ik laat de manier om dat op te lossen aan jouw creativiteit over

Daar is ook weer van alles te verzinnen hoor, persoonlijk vind ik het gevaarlijker om je wachtwoorden ongecodeerd in je database te hebben staan, dan om geen key bij je post te hebben. Maar goed, hoe veilig wil je het hebben, het is niet alsof er kernraketten kunnen worden afgevuurd als je in het CMS komt
[
Voor 16% gewijzigd door
Roa op 14-10-2004 17:03
]
Research is what I'm doing when I don't know what I'm doing.