Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> token, sesje
glass
post 29.03.2008, 18:24:55
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 23.03.2007
Skąd: United Kingdom

Ostrzeżenie: (10%)
X----


chce zrobić tokena do formularza, ponoć jest mniej efektywny ale mi się podoba z wyjątkiem jednego szczegółu nie chce działać!

wklejam taki kod 'formularz.php'

  1. <?php
  2. $_SESSION['token'] = '';
  3. ?>
  4.  
  5. <?php
  6. for($i=0;$i<5;$i++) {
  7.  $liczba = rand(0,9);
  8.  $_SESSION['token'] .= $liczba;
  9.  $img .= '<img src="'.$liczba.'.gif" />';
  10. }
  11. ?>
  12.  
  13. <html>
  14.  <head>
  15.  <title>token</title>
  16.  </head>
  17.  
  18.  <body>
  19. <p>Wprowadź ponizszy kod do formularza</p>
  20.  
  21. <?php echo $img; /* Wyświetla token w formie graficznej */ ?>
  22.  
  23. <form action="sprawdz.php" method="post">
  24.  <input type="text" name="token">
  25.  <input type="submit" value="ok" />
  26. </form>
  27.  </body>
  28. </html>


i w pliku 'sprawdź.php' takie coś:

  1. <?php
  2. if ($_SESSION['token'] == $_POST['token']) echo "Wprowadzono <b>poprawny</b> kod";
  3. else echo "Wprowadzono <b>niepoprawny</b> kod";
  4. ?>


myślę że źle wywołuje bądź rejestruje zmienną w sesji, albo zależy to od ustawienia serwera questionmark.gif
działam na localhost

niech ktoś poradzi P:)questionmark.gif

Ten post edytował glass 29.03.2008, 21:22:49


--------------------
Marcin Małysa
Zapisz się na listę mailingową http://tnij.org/mai_l otrzymasz porady webmastera i fragment e-book-a gratis
http://tnij.org/prezent_nagranie_mp3
Go to the top of the page
+Quote Post
Xniver
post 29.03.2008, 20:19:46
Post #2





Grupa: Zarejestrowani
Postów: 108
Pomógł: 26
Dołączył: 29.02.2008

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3. if(isset($_GET['option']) && $_GET['option'] == 'check')
  4. {
  5. if($_SESSION['token'] == $_POST['token'])
  6. {
  7. echo 'Poprawny';
  8. }
  9. else
  10. {
  11. echo 'Niepoprawny';
  12. }
  13. }
  14. else
  15. {
  16. $_SESSION['token'] = '';
  17. $images = '';
  18.  
  19. for($i = 0; $i < 5; $i++)
  20. {
  21. $num = rand(0, 9);
  22.  
  23. $_SESSION['token'] .= (string) $num;
  24.  
  25. $images .= '<img src="'.$num.'.gif" alt="'.$num.'" />';
  26. }
  27.  
  28. echo '<html>';
  29. echo '<head>';
  30. echo '<title>Token</title>';
  31. echo '</head>';
  32. echo '<body>';
  33. echo $images;
  34. echo '<form action="formularz.php?option=check" method="post">';
  35. echo '<input type="text" name="token" value="" />';
  36. echo '<input type="submit" value="ok" />';
  37. echo '</form>';
  38. echo '</body>';
  39. echo '</html>';
  40. }
  41. ?>


Ten post edytował Xniver 29.03.2008, 20:20:13
Go to the top of the page
+Quote Post
glass
post 29.03.2008, 21:11:55
Post #3





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 23.03.2007
Skąd: United Kingdom

Ostrzeżenie: (10%)
X----


okazuje się że to kwestia konfiguracji serwera już prawie się poddałem, gdy postanowiłem przetestować to na prawdziwym serwerze ..
i oba skrypty hulają ..

może ktoś dopowie mi dlaczego na localhost nie działa mam apache 2.0.59 z php 5.2.0 questionmark.gif

dzienx dla Xniver ten twój wydaje się być lepszy.


--------------------
Marcin Małysa
Zapisz się na listę mailingową http://tnij.org/mai_l otrzymasz porady webmastera i fragment e-book-a gratis
http://tnij.org/prezent_nagranie_mp3
Go to the top of the page
+Quote Post
-=Peter=-
post 29.03.2008, 22:35:16
Post #4





Grupa: Zarejestrowani
Postów: 304
Pomógł: 51
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----


To zabezpieczenie które zaprezentowałeś jest dosyć skromne... Raczej powinieneś wykorzystać bibliotekę gd do wygenerowania obrazka, a nie wykorzystywać do tego obrazków z nazwą odpowiadającą danej liczbie... Raczej nie ma problemu, aby jakiś automat Ci zespamował.


--------------------
Go to the top of the page
+Quote Post
largo3
post 29.03.2008, 22:50:29
Post #5





Grupa: Zarejestrowani
Postów: 28
Pomógł: 5
Dołączył: 14.03.2008

Ostrzeżenie: (0%)
-----


Może to Ci pomoże.


--------------------
Go to the top of the page
+Quote Post
glass
post 31.03.2008, 17:06:21
Post #6





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 23.03.2007
Skąd: United Kingdom

Ostrzeżenie: (10%)
X----


być może pójdę za radą i spróbuje polepszyć zabezpieczenie jakoś na czasie tongue.gif

tymczasem pojawił się mały problemik, mój skrypt zwiększy znaczenie swoją powierzchnię, chyba że uda mi się połączyć te dwa zdania w jeden warunek:

  1. <?php
  2. if(isset($_GET['option']) && $_GET['option'] == 'check')
  3. {
  4.  
  5. if($_SESSION['token'] == $_POST['token'])
  6. {
  7. ?>


próbowałem:

  1. <?php
  2. if((isset($_GET['option']) && $_GET['option'] == 'check') and ($_SESSION['token'] == $_POST['token']))
  3. {
  4. ?>


poczytam o tym przysięgam, jednak teraz muszę mieć to zrobione pomocy!

czarodziej.gif dzienx


--------------------
Marcin Małysa
Zapisz się na listę mailingową http://tnij.org/mai_l otrzymasz porady webmastera i fragment e-book-a gratis
http://tnij.org/prezent_nagranie_mp3
Go to the top of the page
+Quote Post
Crozin
post 31.03.2008, 17:28:43
Post #7





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


  1. <?php
  2. if(isset($_GET['option']) && $_GET['option'] == 'check')
  3. {
  4. if($_SESSION['token'] == $_POST['token'])
  5. {
  6. echo 'Poprawny';
  7. }
  8. else
  9. {
  10. echo 'Niepoprawny';
  11. }
  12. }
  13. ?>
->
  1. <?php
  2. if(isset($_GET['option']) && $_GET['option'] == 'check')
  3. echo ($_SESSION['token'] == $_POST['token']) ? 'Poprawny' : 'Niepoprawny';
  4. ?>
Go to the top of the page
+Quote Post
glass
post 31.03.2008, 18:36:45
Post #8





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 23.03.2007
Skąd: United Kingdom

Ostrzeżenie: (10%)
X----


no ;[[

sorki nie dokończyłem, ale z tym sobie poradzę jak mówiłem, chcę napisać warunek jednym ciągiem oka, możliwe że się nie da tego zrobić tak jak chce, niech ktoś poradzi jak to się pisze...?

worriedsmiley.gif

chyba to mam!

  1. <?php
  2. if(isset($_GET['option']) && $_GET['option'] == 'check' && $_SESSION['token'] == $_POST['token'])
  3.  {
  4.  echo 'Poprawny';
  5.  }
  6.  
  7.  else
  8.  {
  9.  echo 'Niepoprawny <br /><br />';
  10.  }
  11. ?>


umieściłem za dużo nawiasów, dzienx za pomoc pozdrawiam guitar.gif


http://garden-center.y0.pl
Jedynie radość niech będzie przewodnikiem Twojego dnia!


Ten post edytował glass 1.04.2008, 15:35:03


--------------------
Marcin Małysa
Zapisz się na listę mailingową http://tnij.org/mai_l otrzymasz porady webmastera i fragment e-book-a gratis
http://tnij.org/prezent_nagranie_mp3
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 15.07.2025 - 22:59