Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZendFramework]Token, Wstawianie tokena.
ahead
post 25.09.2008, 07:45:57
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 2
Dołączył: 13.08.2008

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


Nie wiem dokładnie jak zaimplementować token w ZF(jest zintegrowany ze smarty). Jako src obrazka ustawiłem odpowiednią akcje generującą token. Sama akcja wyświetla error, "obrazek nie może być wyświetlony, ponieważ zawiera błędy."
Go to the top of the page
+Quote Post
nexis
post 25.09.2008, 08:00:31
Post #2





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


Może podzielisz się kodem, abyśmy mogli pomóc?


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
LBO
post 25.09.2008, 08:01:00
Post #3





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


Przy tworzeniu formularza, generujesz Token i zapisujesz do sesji. Natomiast w obrazku z formularza wypluwasz ten token graficznie.

Możesz token w sesji połączyć jeszcze z jakimś unikalnym kluczem (który byś umieścił jako niewidoczny input) - wtedy użytkownik mógłby mieć kilka otworzonych formularzy i każdy ze swoim tokenem.
Go to the top of the page
+Quote Post
ahead
post 25.09.2008, 08:10:15
Post #4





Grupa: Zarejestrowani
Postów: 33
Pomógł: 2
Dołączył: 13.08.2008

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


  1. <?php
  2. public function genAction(){
  3.        
  4.        $app = Zend_Registryget(Alib_RegistryAPP);
  5.        
  6.  $session = new Zend_Session_Namespace('token');
  7.  
  8.      header ("Expire: Mon, 22 Sep 1997 0:0:00 GMT");
  9.    header ("Last-Modifie: " . gmdate("D, d M Y ::s") . " GMT");
  10.    header ("Cache-Control: no-store, no-cache, must-revalidate");
  11.    header ("Cache-Control: post-check=0, pre-check=0", false);
  12.    header ("Pragm: no-cache");    
  13.    
  14.    mt_srand(time() * 13);
  15.    
  16.    $rand_first = mt_rand(0,8);
  17.    $rand_last = mt_rand(0,8);
  18.    
  19.    $allowed = '123456789';
  20.    $allowed = str_shuffle($allowed);
  21.    
  22.    $first = substr($allowed, -1);
  23.    $second = substr($allowed, 0,1);    
  24.    $pass = $first + $second;
  25.    
  26.    $string = $first . ' + ' . $second;
  27.    
  28.    $image = imagecreate(120, 50);
  29.    
  30.    $black = imagecolorallocate($image,0,0,0);
  31.    $white = imagecolorallocate($image, 255,255,255);
  32.    
  33.    $font =  $app->config['font'];
  34.    
  35.    imagettftext($image, 17, 6, 15, 35, $white, $font, $string);
  36.    
  37.  $session->name = $pass;
  38.    
  39.    header('Content-typ: image/png');
  40.    imagepng($image);
  41.    imagedestroy($image);
  42.    }
  43. ?>


jest to akcja gen. Na stronie logowania, daję w miejscu w którym ma się wyświetlić <img src="/token/gen/" alt=""> i tu chyba nie ma problemu. Problem tkwi w samym generowaniu.
Go to the top of the page
+Quote Post
LBO
post 25.09.2008, 08:15:13
Post #5





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


Jak napisałem, token generujesz przy akcji formularza.

A w akcji obrazka go tylko pobierasz z sesji.
Go to the top of the page
+Quote Post
ahead
post 25.09.2008, 08:39:30
Post #6





Grupa: Zarejestrowani
Postów: 33
Pomógł: 2
Dołączył: 13.08.2008

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


Ok. Przeniosłem generowanie tokena do akcji formularza, wrzuciłem go do sesji, a do akcji obrazka pobieram token i wyświetlam obrazek. Nadal jednak pojawia się błąd - obrazek zawiera błędy i nic się nie wyświetla.
Go to the top of the page
+Quote Post
LBO
post 25.09.2008, 08:42:42
Post #7





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


A weś nie wypluwaj obrazka (zakomentuj) i zobacz, czy sa jakies bledy.
Go to the top of the page
+Quote Post
ahead
post 25.09.2008, 08:47:56
Post #8





Grupa: Zarejestrowani
Postów: 33
Pomógł: 2
Dołączył: 13.08.2008

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


Dziwne...wyświetla ten sam komunikat błędu.
Go to the top of the page
+Quote Post
LBO
post 25.09.2008, 08:49:04
Post #9





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


nie jestem wrózką wiesz? biggrin.gif
Go to the top of the page
+Quote Post
Sabistik
post 25.09.2008, 10:08:35
Post #10


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

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


Czemu nie skorzystasz z Zend_Form_Element_Captcha ?
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: 14.05.2024 - 02:09