Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][AJAX]Funkcja .load a wiele kart
Xeer
post 19.06.2017, 02:15:44
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 1.05.2017

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


Witam.

Mam pewien problem z funkcją
Kod
$().load


Mianowicie, odświeżam funkcję poprzez setInterval co kilka sekund - wszystko działa jak należy, ale jest problem gdy użytkownik odpali kilkanaście kart mojej strony jednocześnie.

Gdy np. użytkownik odpali jednocześnie 50 kart w przeglądarce to 50x co te kilka sekund wczytuje plik - jest to dość niekorzystne z wiadomych powodów i nie mam zielonego pojęcia jak ten problem rozwiązać.

Jest może jakiś sposób na TYLKO jedno wczytywanie pliku co określone czas jednocześnie we wszystkich kartach przeglądarki?

Ponieważ obecnie jak ktoś odpali nie wiadomo ile kart, to można powiedzieć, że dostaje się DDoS'a za Freeko przez samego siebie.

Pozdrawiam!
Go to the top of the page
+Quote Post
bostaf
post 19.06.2017, 08:07:13
Post #2





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


Cytat(Xeer @ 19.06.2017, 03:15:44 ) *
Jest może jakiś sposób na TYLKO jedno wczytywanie pliku co określone czas jednocześnie we wszystkich kartach przeglądarki?

Każdy tab/okno to osobna instancja przeglądarki. Nie jestem pewien czy można sterować zachowaniem jednej instancji z poziomu innej.
I rozumiem, że obawiasz się jakiegoś złośliwego działania.

Jeśli te dane które pobierasz loadem są generowane dynamicznie przez php jakimiś zapytaniami do bazy danych, to wiadomo - po pierwsze musisz je tak zoptymalizować (i zapytania i strukturę danych) żeby nie położyły serwera.
A zabezpieczyć przed multi możesz dodając w tym skrypcie który generuje dane jakiś znacznik czasu i przed wywołaniem zapytań sprawdzać czy dany komputer nie pobrał ich już przed chwilą. Przed profesjonalnym DDoS tak się nie zabezpieczysz ale przed takim amatorskim tak. Znacznik czasu ma dokładność milisekundową, więc w zupełności wystarczy.
Oczywiście w ten sposób tylko jeden tab będzie aktualizowany, ale mi nic lepszego nie przychodzi do głowy.
Go to the top of the page
+Quote Post
leonpro778
post 20.06.2017, 12:19:59
Post #3





Grupa: Zarejestrowani
Postów: 146
Pomógł: 19
Dołączył: 1.03.2012

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


Jeżeli problem jest tylko z kartami to ja bym zrobił to z użyciem cookies i jakimś timeoutem smile.gif
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: 19.07.2025 - 15:57