Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Blokowanie kart/okien przeglądarki - zabezpieczenie
Forum PHP.pl > Forum > Po stronie przeglądarki
qwertap
Cześć

Ciężko jednoznacznie określić czy problem który chciałem poruszyć dotyczy działu w jakim zdecydowałem sie umieścić posta za co przepraszam.

Chciałbym prosić o jakieś wskazówki pomocne w rozwiązywaniu problemu z którym borykam sie któryś dzień. . Chciałbym zablokowac możliwość otwierania aplikacji w kilku zakładkach/oknach. Widziałem podobna opcje w serwisie transkcyjnym mbanku. Przy próbie otwarcia nowej karty strona zostaje przekierowana na inny adres np z info o mozliwosci pracy wyłącznie na jednej karcie. Jak oni to zrobili pytanie niestety narazie bez odp.

Macie pomysl jak sprawdzac czy istnieje juz otwarte połączenie w innej karcie. W gre wchodzi AJAX czy cos innego.
owca_82
No ja mam w sumie bardzo prosty pomysł smile.gif hee

Skorzystaj z ciasteczek - przy otwieraniu stronki sprawdzasz czy jakiś "znacznik" nie jest już ustawiony, jeżeli tak to stronka jest już otwarta i bum, a jak nie to ustawiasz "znacznik" -- jakoś tak to powinno zadziałać wink.gif
mrc
Cytat(owca_82 @ 29.09.2014, 02:01:12 ) *
No ja mam w sumie bardzo prosty pomysł smile.gif hee

Skorzystaj z ciasteczek - przy otwieraniu stronki sprawdzasz czy jakiś "znacznik" nie jest już ustawiony, jeżeli tak to stronka jest już otwarta i bum, a jak nie to ustawiasz "znacznik" -- jakoś tak to powinno zadziałać wink.gif


Zadziała, pod warunkiem, że podczas zamykania karty będziesz usuwał ciasteczko.
qwertap
No dobra scenariusz: otwieram stronę ustawiam ciastko odpowiednim parametrem. Otwierając zakładkę sprawdzam ten parametr. Tylko teraz skąd mam wiedzieć kiedy użytkownik otworzyl zakladke? jesli będę sprawdzał parametr po każdym odświeżeniu to majac otwarte jedno okna zapetle sie bo nie jestem w stanie rozróżnić kolejnej zakladki od okna głównego. Nowe pomysly?
fate
Ja bym spróbował tak:
Wszystko odbywa się na 1 stronie w AJAXie logowanie, funkcje
Dostęp tylko po zalogowaniu

Jeśli już zalogowany a prosi o dostep pokazuj info page, jeżeli niezalogowany pokazuj strone logowania.
Czyli Ajaxowe rzeczy funkcjonuja sobie a linki odpytujace serwer rzucaja wtedy na landingpage bo zalogowany
owca_82
Cytat
Tylko teraz skąd mam wiedzieć kiedy użytkownik otworzyl zakladke

No właśnie stąd że masz ustawione ciasteczko - przy czy nie ma znaczenia czy to jest zakładka czy nowe okno, bo i po co ma to mieć znaczenie.

Cytat
jesli będę sprawdzał parametr po każdym odświeżeniu to majac otwarte jedno okna zapetle sie bo nie jestem w stanie rozróżnić kolejnej zakladki od okna głównego

Nic się nie zapętlisz wink.gif przed każdym "unloadem" DOM'a z okna głównego usuwasz to ciastko i przed ponownym załadowaniem ponownie sprawdzasz czy jest ustawione.

Scenariusz:
- otwierasz stronkę
- sprawdzasz czy ciastko jest ustawione - jeżeli nie to ustawiasz + event na "unload" kontekstu usuwający ciastko
- jeżeli tak, to oznacza że stronka jest już gdzieś otwarta i wtedy ją zamykasz, a ciastko usuwane nie jest

Jeżeli po takiej operacji klikniesz np. odśwież w oknie głównym to zadziała event i ciastko najpierw zostanie usunięte, a potem cała zabawa się powtórzy i stronka znowu prawidłowo się otworzy z ustawionym ciastkiem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.