![]() |
![]() |
![]()
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! |
|
|
![]() |
![]()
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ć. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 10:37 |