Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony] zabronić dostęp do metody
AxZx
post
Post #1





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


witam

w temacie Temat: Symfony_szablony_widoki opisałem jak można zapisać widok do bazy.
powstaje pytanie jak zabronić uruchomienia jakiejś akcji z przeglądarki?

żeby można było z tej metody korzystać w $this->getController()->getPresentationFor() ale żeby ktoś nie mógł sobie wpisać w pasku URL przeglądarki tej akcji i nie zobaczył rezultatu. to samo jest z metoda sendemail - tam też podaje się jakś konkretną akcję konkretnego modułu, jako akcja która wysyła maila.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
AxZx
post
Post #2





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


Cytat(phpion @ 25.11.2008, 21:33:12 ) *
Możesz ustawić jej widoczność na protected/private lub wywalić przedrostek execute. Wtedy daną metodę wywołasz "ręcznie" z danego kontrolera.


mogę ustawić i user nie będzie miał dostępu bezpośrednio z przeglądarki do akcji ale ta wtedy getPresentationFor też nie będzie miała dostępu.

Cytat(destroyerr @ 25.11.2008, 21:37:07 ) *
Za pomocą sfActionStack sprawdzasz czy akcja została wywołana przez inną akcje, tą którą Ty chcesz. Jesli nie to forward404, a jesli tak to spokojnie leci dalej.


a mógłbyś napisać coś więcej? jak tego używać?

przyszedł mi do głowy jeszcze jeden sposób.
można wykonać coś takiego:
  1. <?php
  2. $this->getRequest()->setAttribute('kontrola', 'xyz');
  3. $tresc = $this->getController()->getPresentationFor('kontakty', 'sendZapros', 'sfView');
  4. ?>


i w tej metodzie executeSendZapros sprawdzac
  1. <?php
  2. if($this->kontrola):
  3. ?>
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: 6.10.2025 - 08:52