Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Captcha i MVC
kicaj
post
Post #1





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

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


Zgodnie z MVC zabezpieczenie typu Captcha powinno byc sprawdzane w Modelu czy Kontrolerze?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kicaj
post
Post #2





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

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


To powiem tak, ja to widze w ten sposob (na przykladzie Cake):
Stworzylem sobie komponent Captcha, ktory implementuje w Kontrolerze.
Poniewaz captcha wystepuje w tym przypadku przy formularzu (dowolnym), wiec najpierw waliduje pola z formularza, a na koncu pole typu captcha, wyglada to mniejwiecej tak w modelu:
  1. <?php
  2. class Model extends AppModel
  3. {
  4. var $validate = array(
  5.  'kod' => array(
  6.  'rule' => array( 'userDefined', 'Model', 'captcha' ), // czyt. wlasna funkcja w modelu 'Model' metody 'captcha'
  7.  'message' => 'Niepoprawny kod!' ) );
  8.  
  9.  function captcha( $check )
  10.  {
  11.  // tutaj chcialbym porownac $check (wartosc pola 'kod' z formularza)
  12.  // z zarejestrowanym w sesji kodem, chcialo by sie uzyc:
  13.  // $this -> Session -> read( 'captcha );
  14.  // dostep jest jednak z modelu zabroniony do sesji
  15.  if( $check == $wartosc_session )
  16.  {
  17.  return true;
  18.  }
  19.  else
  20.  {
  21.  return false;
  22.  }
  23.  }
  24. }
  25. ?>

Uzyc w Modelu wbudowanej obslugi sesji nie moge. Zawsze jest rozwiazanie z uzyciem tablic $_SESSION ale to chyba nie tedy droga?

Wiec jak to rozwiazac?

Wydaje mi sie ze captcha poprostu powinna byc sprawdzana jak inne dane formularza, czyli w modelu...

Ten post edytował kicaj 29.07.2008, 21:42:29
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 23:41