![]() |
![]() ![]() |
![]() |
![]()
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! |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]()
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
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 15:57 |