![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Moje pytanie skierowane jest głównie do osób, które czytały książkę "PHP5 zaawansowane programowanie",
ponieważ problem dotyczy przykładu tam przedstawionego. W rozdziale 15 autor przedstawił klasę do obsługi własnych sesji a w rozdziale 22 wdraża ją do użytku. Na stronie 457 przedstawiony jest sposób logowania, który moim zdaniem jest całkowicie bez sensu. Przytoczę tutaj główny kod:
Mniej więcej tak to wygląda. Nie będę podawał kodu klasy bo za dużo pisania. Zresztą nie chodzi mi o sposób napisania klasy. Wywoływany jest skrypt index.php, który sprawdza czy przesłano parametr action=login. Jeżeli tak to znaczy, że dokonano próby logowania (wypełniono formularz i go wysłano), metoda sprawdza dane w bazie - jeżeli się zgadzają ustawia właściwość prywatną klasy logged_in na true. Następnie metoda isLoggedIn() sprawdza czy wartość właściwości logged_in ma wartość true - jeśli tak uznaje, że użytkownik się zalogował i ma dostęp do super tajnych danych (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Wszyscy wiemy, że protokół HTTP jest bezstanowy. Więc możemy sobie w jednym skrypcie utworzyć 100 obiektów, ale jak przejdziemy do drugiego skrytpu (czyli zacznie być wykonywany inny skrypt) to te nasze 100 obiektów poszło się jeb**. Wiecie do czego zmierzam? Do tego, że stosując metodę autora po oddaniu sterownia do drugiego skryptu będziemy musieli utworzyć od nowa obiekt, który będzie miał właściwość logged_in=false (bezstanowość protokołu - zgubiliśmy dane, że użytkownik jest zalogowany) co wymusza przekierowanie na stronę logowania.. Nie odpalałem całego kodu bo nie chce mi się klepać z książki.. Ale uważam, że jeśli dodamy sprawdzanie w każdym skrypcie czy użytkownik jest zalogowany to ten sposób nie zadziała. A trzeba sprawdzać czy użytkownik jest zalogowany, że sprytny user zamiast wpisać www.testowa.pl nie wpisał www.testowa.pl/tajnedane.php i w ten sposób pominął ekran logowania. Co o tym myślicie? Bo ja czasem czytająć tą książke miałem wrażenie, że autorzy nie wiedzą co piszą albo piszą kod od niechcenia. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Pouzywaj jakichs gotowych frameworkow: Zenda, Symfony, Cake czy inne. Po co od razu wzorowac sie (powstanie kolejny ZF-clone (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ) i przepisywac, uzywaj gotowcow dopoki ci odpowiadaja/dzialaja.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Pouzywaj jakichs gotowych frameworkow: Zenda, Symfony, Cake czy inne. Po co od razu wzorowac sie (powstanie kolejny ZF-clone (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ) i przepisywac, uzywaj gotowcow dopoki ci odpowiadaja/dzialaja. Bo wiem, że to co sam napisze będzie moją zasługą i osiągne to co będę chciał. J4r0d: Muszę powiedzieć, że tłumacze są beznadziejni. Piszą takie bzdury. Źle tłumaczą etc. W orginalne podobno lepsza. Niestety jak ostatnio wszystkie książki helionu. Następna będzie z mikom.. Ta książka jest dobra jak się każdy rozdział przeczyta kilka razy - tak zrobiłem. Łapiesz o co chodzi tylko jak ją skończysz to nie wiesz jak to zastosować w praktyce. Pozatym czytając ją mógłbym wskazać, które rozdziały pisane lub łumaczone były przez innego autora/tłumacza. Sposób przekazywania myśli i wiedzy jest inny. Może to źle a może lepiej, że nie cała jest zjeb*** Ten post edytował J4r0d 8.10.2006, 15:58:58 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 23:38 |