Avatar billede dank Nybegynder
06. juli 2003 - 15:05 Der er 11 kommentarer og
1 løsning

Overføre "sjkult" variabeln via url

Jeg har en bruger oprettelses side. Denne ønsker jeg at sikre, således at der ikke kan skrives scripts der automatisk submitter oprettelser i stribevis.

Jeg har med GD lavet således at der på siden kommer til at stå f.eks. "34343" i et billede (så det ikke kan læses af et script)

Denne kode skal så indtastes i et formfelt.

Nu kan jeg ikke rigtigt overskue hvordan jeg tester at denne kode (som er tilfældigt genereret hvér gang)

Jeg er jo i validerings scriptet nød til at kende den kode der lige er generet, før jeg kan sammenligne med den.

Jeg havde tænkt, at jeg evt. kunne have et hidden field, men en eller anden form kryptering af den samme kode..

Men jeg ved ikke rigtigt.. nogen idéer?
Avatar billede dank Nybegynder
06. juli 2003 - 15:06 #1
hmmm.. underskylder mine stavefejl... det gik lidt hurtigt. :)
Avatar billede rzj Nybegynder
06. juli 2003 - 15:11 #2
du skal vel lagre den tilfældige kode i en db eller en fil indtil brugeren har aktiveret sin konto?

En anden måde er at generere en mail med et aktiveringslink. Her skal du dog også have styr på at verificeringskoden gemmes inden brugeren har aktiveret sin konto.
Avatar billede dank Nybegynder
06. juli 2003 - 15:15 #3
Problemet er hvordan jeg lagrer det i en database. På det tidspunkt koden genereres, er brugerens brugernavn, id o.s.v. ukendt og der er intet "holdepunkt" i nogen databaser.

Løsning2: Har jeg allerede kørende og det virker som sådan også ok, problemet er bare at nogen har skrevet et script der parser til tilsendt mail og selv submitter koden herefter. Dette gøres simpelthen ved at pipe mailen til et php script.
Avatar billede detox Nybegynder
06. juli 2003 - 15:15 #4
Du kan evt. osse lægge den i en session-variabel.
Avatar billede dank Nybegynder
06. juli 2003 - 15:17 #5
ellers skulle jeg have en "indtast kode" side efter den første tilmeldings side.

så har jeg et sted i databasen, hvor jeg kan sætte koden...

Medmindre der kommer andre bud, på hvordan jeg kan løse dette, så bliver det måden at gøre det på.
Avatar billede detox Nybegynder
06. juli 2003 - 15:18 #6
Hvis du bruger en session kan du sammenholde den med sessionid'et.
Avatar billede dank Nybegynder
06. juli 2003 - 15:18 #7
detox> er det godt nok? Hvor længe holder denne session-variabel? Kan ikke lige helt overskue det.
Avatar billede dank Nybegynder
06. juli 2003 - 15:19 #8
detox> Er det sådan du kan ryste en kodestump op af ærmet?
Avatar billede detox Nybegynder
06. juli 2003 - 15:25 #9
Som default mener jeg en session varer 20 minutter eller til brugeren lukker sin browser.
Avatar billede detox Nybegynder
06. juli 2003 - 15:28 #10
Du skal så starte hver side med:
session_start();
Du kan så tildele en værdi med fx:
$_SESSION['kode'] = 34343;
På den side, hvor du validerer kan du hente den igen:
$kode = $_SESSION['kode'];
Avatar billede dank Nybegynder
06. juli 2003 - 15:30 #11
detox> Ok. jeg prøver denne metode. Det værste der kan ske er vel, at det ikke virker :)

Opretter i svar?
Avatar billede detox Nybegynder
06. juli 2003 - 15:33 #12
Ok, men se nu lige om det fungerer før du accepterer. c",)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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