Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Statyczne i dynamiczne strony dla różnych userów
colargol
post 13.08.2010, 14:48:08
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 24.02.2009

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


Jak zrobić takie rozwiązanie cacheowania stron:
- niezalogowanym wyświetla się strona *.html
- zalogowanym wpisującym ten sam adres np. example.com/page.html wyświetla się strona, która jest już wynikiem wykonania się skryptu PHP

takie rozwiązanie jest zastosowane w Wordpress Super Cache (http://wordpress.org/extend/plugins/wp-super-cache/) ale zupełnie nie wiem jak się do tego zabrać, aby móc coś podobnego zastosować np. w moim autorskim skrypcie bloga

Ten post edytował colargol 13.08.2010, 14:48:48
Go to the top of the page
+Quote Post
thek
post 13.08.2010, 14:54:47
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Przecież user zalogowany ma dane, które nie są dostępne u usera niezalogowanego. Choćby określone w $_SESSION winksmiley.jpg Na podstawie ich obecności możesz decydować co komu wyświetlić smile.gif Na upartego to chyba nawet z poziomu htaccess masz dostęp do zmiennej $_SERVER i jesli wprowadzisz w serwisie autoryzację userów z tego poziomu to i już na tym poziomie będziesz mógł ich filtrować.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
colargol
post 13.08.2010, 15:03:41
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 24.02.2009

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


Cytat(thek @ 13.08.2010, 15:54:47 ) *
Przecież user zalogowany ma dane, które nie są dostępne u usera niezalogowanego. Choćby określone w $_SESSION winksmiley.jpg Na podstawie ich obecności możesz decydować co komu wyświetlić smile.gif


Właśnie w tym mam problem, w jaki sposób serwer ma decydować np. aby bez korzystania z PHP wyświetlić niezalogowanemu stronę statyczną .html


Cytat(thek @ 13.08.2010, 15:54:47 ) *
Na upartego to chyba nawet z poziomu htaccess masz dostęp do zmiennej $_SERVER i jesli wprowadzisz w serwisie autoryzację userów z tego poziomu to i już na tym poziomie będziesz mógł ich filtrować.

właśnie o takie wskazówki mi chodziło, ale nie chciałbym wprowadzać jakiś innych sposobów autoryzacji niż są stosowane w większości seriwsów

Ten post edytował colargol 13.08.2010, 15:05:17
Go to the top of the page
+Quote Post
ZuyPan
post 13.08.2010, 15:40:17
Post #4





Grupa: Zarejestrowani
Postów: 116
Pomógł: 4
Dołączył: 4.02.2010

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


  1. if (!$_SESSION['zalogowany']){ //lub inna sesja
  2. //include ('plik.html');
  3. }else{
  4. //kod php
  5. }




--------------------
Blog
Go to the top of the page
+Quote Post
piotr94
post 13.08.2010, 16:17:22
Post #5





Grupa: Zarejestrowani
Postów: 331
Pomógł: 30
Dołączył: 11.11.2008
Skąd: Kraków

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


jak chcesz, żeby rozszerzenie było .html, a nie .php to użyj ModRewrite


--------------------
http://www.piotr94.net21.pl/ - wykonanie stron i serwisów internetowych
Jeśli moje wypowiedzi były dla Ciebie pomocne, kliknij "Pomógł" i odwdzięcz się ;)
Go to the top of the page
+Quote Post
thomson89
post 13.08.2010, 19:27:06
Post #6





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Zainteresuj się header. Jak nie zalogowany to przenieś na stronę .html. Jeżeli masz szybki serwer i użytkownik wejdzie na index.php nawet nie zauważy kiedy znajdzie się na strona.html. Do tego ob_start na początek strony.

Ten post edytował thomson89 13.08.2010, 19:28:08


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
Crozin
post 13.08.2010, 19:35:30
Post #7





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Z poziomu .htaccess nie będziesz miał żadnego łatwego sposobu na dostanie się do danych typu sesja wygenerowana w PHP itp., ale bez większych problemów dobierzesz się do ciasteczek. Po poprawnym zalogowaniu użytkownika mógłbyś mu ustawić ciasteczko jest-zalogowany z jakąś tam wartością. Teraz w konf. serwer możesz skorzystać z RewriteCond i zmiennej %{HTTP_COOKIE}. Określasz po prostu czy istnieje ciastko - jak tak odpalasz plik PHP, jak nie HTML.
Go to the top of the page
+Quote Post
thek
post 13.08.2010, 20:35:20
Post #8





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Najwygodniej więc użyj dobierania się do ciastek jak radzi Crozin. Jeśli na szybko chcesz wiedzieć co w htaccess możesz zrobić to polecam wpisać mod rewrite cheat sheet smile.gif To Ci pomoże w szybkich poszukiwaniach tego co chcesz i co możesz zrobić. Po łebkach, ale w takich wypadkach google oferuje niezastąpiona pomoc. Ustaw choćby zmianną logged wtedy w cookies a będziesz miał dostęp do niej z poziomu htaccess i pozwoli Ci to sterować ruchem innym niż autoryzowany. Tylko pamiętaj, że te dane z i w ciastkach są łatwe do usunięcia lub manipulacji i nie polegałbym na nich a bardziej na sesji. Co prawda ją też można oszukać, ale jest to o wiele trudniejsze. Jednak session hijacking czy session fixating to nie są takie calkie proste typy ataków.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
colargol
post 13.08.2010, 22:21:10
Post #9





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 24.02.2009

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


Dzięki wszystkim za odpowiedzi, do mojego problemu najbardziej pasuje rozwiązanie zaproponowane przez Crozina.
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.08.2025 - 04:48