Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Bardzo dziwne zachowanie PHP, sieci lub serwera
Forum PHP.pl > Forum > PHP
mathijas
Witam,

Z mojej strony już tradycyjnie, problem - zagwozdka. Nie wiem nawet jak zadać pytanie Googlowi. Nie wiem do którego działu to wrzucać, czy to po stronie serwera błąd, czy może sama sieć, czy może jakiś skrypt/trojan/wirus po stronie użytkownika... Nie mam danych na temat przeglądarki IE, natomiast rzecz na pewno się dzieje w Firefoxie 3.6.10 (parę osób wyłapałem właśnie z tą przeglądarką).

Od jakiegoś czasu do moich skryptów docierają dane z błędami. Zdarza się to niezwykle rzadko, ale jednak. Konkretnie chodzi o to, że w danych, które odbieram POSTem, zdarzają się zmiany jednego bitu w tekście. Mechanizm jest taki:

- buduję w PHP dość spory formularz, niech będzie macierz 20x20
- w HTMLu każde z pól macierzy wygląda podobnie do tego: <input type="text" size="2" name="matrix[c:1][n:1]" value="1" />
- strona jest wysyłana do przeglądarki użytkownika. Atrybut "name" nie jest nigdzie modyfikowany JavaScriptem.
- użytkownik wysyła do mnie gotowy formularz
- w PHPie odbieram formularz, przelatuję po wierszach i kolumnach
- bardzo rzadko, w pojedynczych polach, zamiast $_POST['matrix']['c:1']['n:1'] mam dostępne $_POST['matrix']['c:1']['j:1']
- jak widać, nastąpiła zmiana z "n" na "j" - binarnie jeden bit został zmodyfikowany
- podobnie czasami zmienia się "g" na "c" - binarnie znów jeden bit zmodyfikowany

Tak więc zmiana może następować:
- podczas budowania formularza w PHP - przeglądarka otrzymuje już zepsutą nazwę
- podczas wyświetlania formularza w przeglądarce - przeglądarka psuje nazwę
- podczas wypełniania formularza - działa skrypt JSowy sprawdzający poprawność danych, ale nigdy nie modyfikuje "name" - JavaScript psuje nazwę
- podczas odbierania danych z formularza przez PHP - PHP psuje POSTa
- podczas transmisji danych pomiędzy systemami - sieć psuje pakiety

Czasami mam trafienia żądań do plików graficznych z pomyloną o jeden bit nazwą, na przykład "obrazek.pnc" zamiast "obrazek.png". Nie mam pewności, czy przyczyna jest ta sama.


Jakby ktoś coś wiedział, desperacko proszę o pomoc...

Pozdrawiam
JohnnyB
Cytat
- podobnie czasami zmienia się "g" na "c" - binarnie znów jeden bit zmodyfikowany

to się nazywa mutacja, może być skutkiem zwiększonego promieniowania. Od mutacji już tylko krok do ewolucji - kto wie, może za jakiś czas Twój skrypt wynajdzie koło ... o ile wcześniej nie padnie na raka smile.gif

a tak na poważnie to obstawiałbym problemy z pamięcią na serwerze
kiler129
To na 99% RAM w serwerze. Przez sieć nie da sie zepsuć bo pakiety TCP mają CRC.
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.