![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 0 Dołączył: 2.11.2004 Skąd: Jaworzno Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich czytających.
Tytułem wstępu... od mniej więcej 4 lat używałem bez problemu pewnego skryptu w swoim sklepiku do zwiększania i zmniejszania liczby produktów. Ostatnio okazało się, że skrypt zachowuje się "dziwnie" na nowym laptopie. O samym skrypcie należy chyba tylko powiedzieć, że nowy produkt dodaje się na zasadzie formularza, po zaakceptowaniu produkt pojawia się w bazie i liczbę produktów można zmieniać poprzez dwa przyciski (+ i -), które analogicznie zwiększają i zmniejszają liczbę produktów w bazie dzięki wykorzystaniu technologii ajax (po kliknięciu liczba zmniejsza/zwiększa się o 1). W pewnym momencie jak dodane było już 5 nowych produktów i w sumie przez przypadek sprawdziliśmy liczbę produktów jednego z nowo wprowadzonych wyświetliło jakąś dziwną liczbę, jeśli dobrze pamiętam 4 (zamiast wprowadzonych 2). Co jednak dziwniejsza sprawdzając pozostałe wpisy okazało się, że pozostałe wpisy również mają dziwne wartości jak np. 3, -1, -2 itp. Dodatkowo jedna zmiana np. dodanie poprzez przycisk produktu powodowało, że w innych produktach również zachodziły zmiany, lecz zawsze działo się to po jakimś czasie (z reguły po kilkudziesięciu sekundach). Wszystko obserwowałem z drugiego komputera z poziomy mysqladmina, żeby przypadkiem nie generować żadnego ruchu na stronie, chciałem się upewnić, że nie jest to spowodowane przejściami/odświeżeniem strony czy czymś takim. Zrobiliśmy pseudo eksperyment. Wyzerowaliśmy jeden z produktów bezpośrednio w bazie. Po czym dodaliśmy 1 produkt, a następnie po kilkunastu sekundach o kolejne 5. W sumie do 6. Następnie obserwowałem tylko zachowanie bazy na drugim komputerze odświeżając zawartość tego produktu. Przez jakiś czas się nic nie działo, po czym produkt wskoczył na 7... a następnie po kilkunastu sekundach na 12. Wygląda to tak jakby poza tym zwiększeniem które miało miejsce bezpośrednio po kliknięciu było wysyłane jakieś drugie opóźnione żądanie... które odpala się po jakimś czasie. Przez jakiś czas myślałem, że coś się dzieje z bazą, ale przetestowałem to na swoim drugim komputerku i wszystko działa sprawnie, tak samo zmiany bezpośrednio z poziomy mysqladmina nie powodują, żadnych dziwnych zachowań. Na nowym laptopie zainstalowany jest Windows 7. Sprawdzaliśmy zachowanie na przeglądarkach IE, Firefox i Chrome. Na wszystkich to samo. Będę bardzo wdzięczny za wszystkie uwagi, sugestie i podpowiedzi... Bo naprawdę nie bardzo wiem jak sobie poradzić z tym problemem. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 29.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
z twojego opisu wynika, że to coś z Ajax'em.
ważne pytanie to czy za każdym razem tak się dzieje? bez kodu ciężko coś stwierdzić, umieść może przynajmniej sam kod ajax odpowiedzialny za łączenie się z PHP( chyba zę jakoś inaczej to robisz ), no i moze troche php który zwiększa/zmiejsza ilość produktów w bazie. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 0 Dołączył: 2.11.2004 Skąd: Jaworzno Ostrzeżenie: (0%) ![]() ![]() |
dzięki za zainteresowanie.
fragment kodu w php odpowiedzialny za dodawanie i usuwanie:
fragmenty pliczku ajax...
i na koniec pliczek ajaxAddProduct.php wywoływany z ajaxa:
pliczek do usuwania jest analogiczny |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Pozostaje jeszcze jedno rozwiązanie... Monitorujesz ruch między przeglądarką, a serwerami. Przykładowe możliwości:
a) TamperData w Fx, (IMG:style_emoticons/default/cool.gif) serwer proxy monitorujący żądania między maszynami ( WebScarab, Burp Suite ) - przydaje się także do testów (IMG:style_emoticons/default/wink.gif) Zwłaszcza to drugie rozwiązanie jest ciekawe. Dowiesz się ciekawych rzeczy o aplikacji i ewentualnych furtkach bezpieczeństwa. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 12:31 |