Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]Przykładowy token - problem
Forum PHP.pl > Forum > Przedszkole
obelix94
Sciągnąłem sobie ze strony szabloniki.com kod "tokena", ale niestety kodzik nie działą. Nie wyświetla obrazku z tokena. Jak to zrobić, zeby to działało?

index.php
  1. <?php
  2.  
  3.  
  4. if (empty($kod_sesji)){
  5.    session_register("kod_sesji");
  6. }else{
  7.    if($kod_sesji==$_POST['kod_txt']){
  8.    
  9.        echo "<span style=\"color:green\">Wpisano poprawny kod</span>";
  10.    } else{
  11.    
  12.    echo "<span style=\"color:red\">Wpisany kod nie jest poprawny</span>";
  13.    }
  14.    
  15.    $kod_sesji=NULL;
  16. }
  17.  
  18. define ('DLUGOSC_KODU',5);
  19.  
  20. define ('KLUCZ','dupa');
  21.  
  22. define ('MATRIX','1234567890abcdefghijklmnopqrstuwxyz');
  23.  
  24. for ($e=0;$e<DLUGOSC_KODU;$e++){
  25.    $litera_klucza=substr(KLUCZ,$e%strlen(KLUCZ),1);
  26.    $litera_kodu=substr(MATRIX,rand(0,strlen(MATRIX)-1),1);
  27.    $kod_sesji=$litera_kodu;
  28.    $litera_kodu=$litera_kodu ^ $litera_klucza;
  29.    $kod=$litera_kodu;
  30. }
  31.  
  32. $token=str_pad($kod,10);
  33. $token=base64_encode($token);
  34. $token=str_rot13($token);
  35.  
  36. echo "<html>
  37.    <body><br>";
  38.  
  39. echo "<img src=\"get_token.php?token=$token\"";
  40.  
  41. echo "<br>
  42.    <form method=\"post\" action=\"index.php\">
  43.    <input type=\"text\" name=\"kod_txt\" size=\"8\" maxlength=\"".DLUGOSC_KODU."\">
  44.    <input type=\"submit\" value=\"ok\">
  45.    </form>
  46. ";
  47.  
  48. echo "</body>
  49.    </html>";
  50.  
  51. ?>


get_token.php
  1. <?php
  2.  
  3. define('KLUCZ','dupa');
  4.  
  5.    Header("Content-type: image/jpeg");
  6.    
  7.    $grafika=imagecreatefromjpeg('./tlo.jpg');
  8.    
  9.    $token=str_rot13($_GET['token']);
  10.    $token=base64_decode($token);
  11.    $szyfr=substr($token,0,strpos($token," "));
  12.    
  13.    for ($x=0;$x<strlen($szyfr);$x++){
  14.    $litera_klucza=substr(KLUCZ,$x%strlen(KLUCZ),1);
  15.    $litera_szyfru=substr($szyfr,$x,1);
  16.    $kod=$kod.($litera_klucza^$litera_szyfru);
  17.    }
  18.      
  19.    $tlo=imagecolorallocate($grafika,0,0,0);
  20.    
  21.    $tekst=imagecolorallocate($grafika,0,0,0);
  22.    
  23.    $kolo=imagecolorallocate($grafika,200,150,100);
  24.    
  25.    for ($x=1;$x<=15;$x++){
  26.    imageellipse($grafika,rand(0,75),rand(0,25),rand(10,35),rand(10,12),$kolo);
  27.    }
  28.    
  29.    imagestring($grafika,5,12,5,$kod,$tekst);
  30.    
  31.    Imagegif($grafika);
  32. ?>
erix
  1. <?php
  2. session_register("kod_sesji");
  3. ?>

Tych funkcji się już nie używa, masz przecież tablicę superglobalną $_SESSION...

Cytat
ale niestety kodzik nie działą.

Strzela? Bije po nogach?

  1. <?php
  2. $token=str_rot13($_GET['token']);
  3. ?>

Wybacz, ale wybrałeś zły sposób na przekazywanie kodu. Myślisz, że to są tak skomplikowane algorytmy, że nie da się rozpoznać, czy zakodowały one ciąg? Token trzymaj tylko w sesji, via $_GET możesz przekazywać jedynie identyfikator żądania...
obelix94
Cytat("erix")
Strzela? Bije po nogach?

Nie dry.gif
Cytat("obelix94")
Nie wyświetla obrazku
erix
To zdążyłem przeczytać, ale ja konkretnie pytam - czy wypluwa cokolwiek? Jeśli rozmiar jest większy od zera, znaczy, że jakieś błędy są w tym obrazku zawarte, tylko ich nie widać ze względu na nietekstowy MIME.
obelix94
Nie wyświetla żadnych błędów ani obrazka. Wyświetla coś takiego:
erix
No wybacz, ale URL jest "dziwny"...
obelix94
Url tego mojego obrazka jest dziwny? Jak tak, to powiem że chodziło mi o ten efekt, zeby takie coś było.
erix
Czy Ty czytasz uważnie, co ja piszę?

Cytat
Jeśli rozmiar jest większy od zera, znaczy, że jakieś błędy są w tym obrazku zawarte, tylko ich nie widać ze względu na nietekstowy MIME.

Pobierz ten plik, podejrzyj listerem z np. Total Commandera albo cat plik.jpg.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.