login  Naam:   Wachtwoord: 
Registreer je!
 Forum

beveiligings code

Offline Ultimatum - 20/07/2006 16:33
Avatar van UltimatumPHP expert ik wil dus testen of ingevoerde tekenreekst gelijk is aan degene in de sessie maar krijg altijd dat het niet gelijk is

  1. <form method='post' action=''>
  2. <?php
  3. echo $code = code(4);
  4. $_SESSION['code'] = $code;
  5.  
  6. ?>
  7. <input type='text' name='key' value='' />
  8.  
  9. <input type='submit' name='submit' value='Check' />
  10. </form>
  11.  
  12. <?php
  13. if($_SERVER['REQUEST_METHOD'] == 'POST')
  14. {
  15. if($_POST['key'] == $_SESSION['code'])
  16. {
  17. echo 'Code is correct';
  18. }
  19. else
  20. {
  21. echo 'Code is NOT correct';
  22. }
  23. }
  24. ?>


had ook al echo $code en echo $_SESSION['code'] gedaan in na het op de button drukken en toen kreeg ik wel gewoon dezelfde uitkomst als voor het tekst veld staat, verder heb ik ook === gedaan ipv == maar geen verschil 

11 antwoorden

Gesponsorde links
Offline Rens - 20/07/2006 16:36
Avatar van Rens Gouden medaille

Crew algemeen
  1. <?php
  2. echo $code = code(4);
  3. $_SESSION['code'] = $code;
  4.  
  5. ?>

Probeer het volgende eens:
  1. <?php
  2. $code = code(4);
  3. $_SESSION['code'] = $code;
  4. echo $code;
  5. ?>

Ik dacht dat je in een echo niks aan een var. toe kunt kennen?
Offline svm - 20/07/2006 16:36 (laatste wijziging 20/07/2006 16:38)
Avatar van svm PHP ver gevorderde Moet je ten eerste niet enctype="multipart/form-data" in je form tage zetten?


O, oke.
Offline Rens - 20/07/2006 16:37
Avatar van Rens Gouden medaille

Crew algemeen
Dat is alleen voor uploaden van bestanden.
Offline Thomas - 20/07/2006 16:38 (laatste wijziging 20/07/2006 16:39)
Avatar van Thomas Moderator Heb je wel een sessie gestart? 
Misschien staat magic_qotes_gpc aan en worden er slashes toegevoegd?
Offline Ultimatum - 20/07/2006 16:51
Avatar van Ultimatum PHP expert @Rensjuh, ik zei ook dat als ik bij het vergelijken van de codes check dat ik het ook had geëchod en er toen wel wat kwam
@FangorN zoals hierboven al zei als ik session_start(); niet had dan zou ik ook niks terug krijgen van de echo

over magic_qotes_gpc, ja staat aan maar er worden geen slashes toegevoegd, is toch ook alleen maar met ' of niet

btw hoe zet je dat uit dan , niet dat ik er last van heb want doe er zelf al addslashes(); omheen 
Offline nielsvdwal - 20/07/2006 16:55
Avatar van nielsvdwal PHP gevorderde als je op [check] drukt dan word er toch weer een nieuwe code gemaakt 
Offline Ultimatum - 20/07/2006 16:57
Avatar van Ultimatum PHP expert hmm dat zeg ik toch....

ik heb het geëchod om dat uit te sluiten er kwam precies de zelfde code te staan, dus dan zou dat niet het geval moeten zijn of het gebeurd wel en snap ik er vanaf dit punt niks meer van
Offline Rens - 20/07/2006 17:01
Avatar van Rens Gouden medaille

Crew algemeen
Afgaande op wat nielsvdwal zegt, probeer de volgende code eens:
  1. <?php
  2. if($_SERVER['REQUEST_METHOD'] == 'POST')
  3. {
  4. if($_POST['key'] == $_SESSION['code'])
  5. {
  6. echo 'Code is correct';
  7. } else
  8. {
  9. echo 'Code is NOT correct';
  10. }
  11. } else
  12. {
  13. ?>
  14. <form method='post' action=''>
  15. <?php
  16. echo $code = code(4);
  17. $_SESSION['code'] = $code;
  18. ?>
  19. <input type='text' name='key' value='' />
  20. <input type='submit' name='submit' value='Check' />
  21. </form>
  22. <?PHP
  23. }
  24. ?>


Om zeker uit te sluiten dat het niet aangepast word 
Offline Ultimatum - 20/07/2006 17:05
Avatar van Ultimatum PHP expert works... geen idee wat er nu anders is 
Offline nielsvdwal - 20/07/2006 17:07 (laatste wijziging 20/07/2006 17:08)
Avatar van nielsvdwal PHP gevorderde edit: lol.. beetje laat 

  1. <form method='post' action=''>
  2. <?php
  3. if (isset($_SESSION['code']))
  4. {
  5. echo $_SESSION['code'];
  6. }
  7. else
  8. {
  9. $code = rand(9,0).rand(9,0).rand(9,0);
  10. echo $code;
  11. $_SESSION['code'] = $code;
  12. }
  13. ?>
  14. <input type='text' name='key' value='' />
  15.  
  16. <input type='submit' name='submit' value='Check' />
  17. </form>
  18.  
  19. <?php
  20. if($_SERVER['REQUEST_METHOD'] == 'POST')
  21. {
  22. if($_POST['key'] == $_SESSION['code'])
  23. {
  24. echo 'Code is correct';
  25. }
  26. else
  27. {
  28. echo 'Code is NOT correct';
  29. }
  30. }
  31. ?>


zo zou het dan wel werken toch?:p 
Offline ikkedikke - 20/07/2006 18:16
Avatar van ikkedikke PHP expert het verschil is dat je bij de vorige pagina iedere keer een nieuwe code maakte, waar je dat nu alleen doet als de pagina niet via een form aangevraagd is 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.243s