Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Odświerzanie strony, refresh i "przejdz do poprzedniej strony" ... Jak zaradzić?
miccom
post
Post #1





Grupa: Zarejestrowani
Postów: 493
Pomógł: 8
Dołączył: 7.07.2007
Skąd: Tychy

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


Witam.
ja stosuję header, ale jak sobie poradzić ze zmiennymi GET i przyciskiem przeglądarki "przejdź do poprzedniej strony"?
Mój system działa tak:
na stronie etap1.php wykonuję pewne obliczenia, podstawiam zmienne,user wybiera pewne opcje, i metodą GET dane wysyłam do pliku etap2.php.
Tam następuje obróbka, i obrobione zmienne wysyłam do skryptu etap3.php
Tam wykonuję operacje na bazie danych, i przez header przenoszę usera do strony etap.php
I myślałem że jest ok, ale niestety ze strony etap.php można przejść ponownie do strony etap2.php wykorzystując już dane przerobione! klikając przycisk przeglądarki "przejdź do poprzedniej strony"
A ja chciałbym aby po wykonaniu zadań i zapytań do bazy w etap3.php, gość ponownie wykonał zadania i dokonał "wyborów" na stronie etap.php
Jak się zabezpieczyć przed tym? Bo do refresh mam sesje użyte.


--------------------
Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Kolego, czemu tak komplikujesz sobie życie? Jądrem Twojego systemu powinien być plik index.php umieszczony w folderze głównym, tam trafiają wszystkie zmienne a potrzebne fragmenty kodu po prostu includujesz z innych plików i na tej podstawie generujesz gotową stronę, inaczej zamęczysz się przekazując dane między skryptami.

Możliwe rozwiązania:
1. Modyfikujesz nagłówki http tak, że strona nie jest przechowywana w cache przeglądarki i gdy ktoś kliknie "wstecz" pojawia się komunikat "strona wygasła"
2. Może w Twoim wypadku wystarczy tylko taka modyfikacja, by przeglądarka nie zapamiętywała danych wprowadzonych do formularzy? Poczytaj o tym, było na forum kilka razy.
3. Możesz wykryć użycie przycisku "wstecz" poprzez HTTP_REFERER czy używając JS
4. Zapisujesz informacje o poczynaniach użytkownika i w zależności od tego podejmujesz określoną akcję (metoda najpewniejsza, bo pozostałe może chytry użytkownik obejść). Najprościej wygenerować jakiś token, który powiąże danego użytkownika z formularzem i pozwolić użytkownikowi obrabiać tylko jeden formularz - bo chyba o to Tobie chodzi, że użytkownik może dwa razy wysłać ten sam formularz?

Ogólnie to nie widziałem jak to działa i czemu ma służyć, więc trudno coś bardziej szczegółowo doradzić.


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 Aktualny czas: 21.08.2025 - 10:37