Avatar billede NielsErikP Mester
05. oktober 2011 - 12:31 Der er 6 kommentarer og
2 løsninger

Tjek på $_SESSION['key'] ???

Hej...
Jeg er løbet ind i et lille problem.. mht. til at tjekke på $_SESSION['key'] ... Det er nok såre simpelt for jer der ved noget :-)
Men det er et spamtjek vha. CAPTCHA, men når $_SESSION['KEY'] er dannet via en hash gennem md5(), tjekker eller skulle jeg tjekke på om "spamtjek" også kørt gennem md5() svarer til $_SESSION['Key'], men jeg kan ikke få det til at virke, spamtjek giver et hash selvom feltet endnu ikke er udfyldt...

Se her:
  www.nielsgjern.dk/epson/cap1.jpg

og :
  www.nielsgjern.dk/epson/cap2.jpg

og :
  www.nielsgjern.dk/epson/cap3.jpg

Og så selv IF sætningen med det der skulle være et tjek og som jeg ikke kan få til at virke :
 
  www.nielsgjern.dk/epson/capkode.jpg 

Håber der er en "HardCore"  der kan give lidt hjælp..!!!

På forhånd tak!!
Avatar billede danco Nybegynder
05. oktober 2011 - 13:10 #1
Det første jeg ser er umiddelbart at du i din kode bruger følgende:

$_SESSION["key"] = md5($str3;)

Det bør naturligvis være:

$_SESSION["key"] = md5($str3);

Jeg ved ikke om det har nogen indflydelse men ret det under alle omstændigheder.
Avatar billede vagnk Juniormester
05. oktober 2011 - 13:22 #2
Hvor laver du en "session_start();"?
Avatar billede NielsErikP Mester
05. oktober 2011 - 19:59 #3
Hej...
#1:
Det er rettet giver ingen ændring!!

#2:
min session_start() ligger oppe først i filen, lige uden for det billed 3 jeg har lagt i #0.

Men der skal måske lige lidt forklaring til billederne...
Første gang dokumentet kaldes.. Skriver php "undefined variable "spamtjek" i linje bla bla bla...

Men i billed 1 ses SpamTjek(md5) og den streng der står der er den samme som ses på dette billede, hver gang feltet er tomt:

    www.nielsgjern.dk/epson/cap1.jpg

Og det ses jo den ikke er lige med SESS['key'](md5)!!!

Så indtaster jeg str3 som i dette tilfælde er TK1M7DWD og trykker på knappen send, så er SpamTjek(md5) lig
SESS['key'](md5) i billede 1, men SESS['key'] er en ny dannet streng.

Så er det jo klart at SpamTjek(md5) og SESS['key'](md5) aldrig bliver lig hinanden. Og selv ved tom form felt dannes md5 hash på spamtjek. Så de bliver jo aldrig lig hinanden.

Er der nogen der lige kan gennemskue en løsning på det!!
Avatar billede danco Nybegynder
06. oktober 2011 - 01:34 #4
jeg antager naturligvis at du sætter din session ["key"] i billedet som bliver dannet.  Og hvis billedet bliver opdateret i browseren vil det betyde at hele koden til at danne billedet er kørt igen og dermed er din session opdateret.

Du bør derfor sende din formular videre til en side hvor billedet IKKE er på.

Hvad sker der hvis du gør det?
Avatar billede NielsErikP Mester
06. oktober 2011 - 21:54 #5
Hej..
Jeg har 2 filer gæstebogen(gb3.php) og den der skaber image (SkabBG.php)

I SkabBG.php danner jeg billede og skriver strengen til image med


imagettftext  ( $im, 14 , $angle1  , 10  , 27  , $FarveText  , "TTF_Fonts\a_Campus_Bold.ttf" , $_GET["S1"]);
imagettftext  ( $im, 14 , $angle2  , 77  , 27  , $FarveText  , "TTF_Fonts\a_Campus_Bold.ttf" , $_GET["S2"]);



"S1" og "S2" sendt fra gb3.php med:


    <span style="color:green; font-size:16px;">Gengiv koden : </span> <br>
                <?php echo "<img src='SkabBG1.php?R=$R&G=$G&B=$B&S1=$str1&S2=$str2&S3=$str3';>" ?> <br> <br>


Avatar billede danco Nybegynder
07. oktober 2011 - 00:06 #6
Jeg er ikke sikker på hvordan din kode fungerer. Men tillad mig at give dig en lille idé.

Lav et dokument der alene har til formål at:
  - Lave den tilfældige streng af tekst
  - Gemme den tilfældige streng i en session
  - Skrive den tilfældige streng på billedet

Så ledes at man udelukkende skal lave følgende HTML:

<img src="SecureImage.php" alt="" />

på den måde kan du tilgå din session fra ovenstående dokument.
Avatar billede NielsErikP Mester
10. oktober 2011 - 22:23 #7
Hej...
Fandt en løsning i samme fil som jeg tjekker i... Men Danco efter at have læst dit indlæg i #6, besluttede jeg at flytte skabelsen af den tilfældige Hashede kode i $_SESSION['key'] tilbage til SkabBG.php og tjekkede så i GB.php... Det lykkes at få det til at virke...
Danco vil du smide et svar, så deler vi pointen..

Tusind tak for din hjælp og din tid :-)
Avatar billede danco Nybegynder
10. oktober 2011 - 22:39 #8
Her kommer et svar fra mig
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