misiek172
17.08.2012, 11:10:53
Witam.
Chciałbym zorientować się co uważacie na temat serializowania tablic i czy macie tricki na bezpieczne serializowanie.
Z mojego doświadczenia wynika że serialize() nie jest zbyt bezpieczne, gdy natrafimy na jakieś niechciane znaczki to wszystko się rozleci

Macie sprawdzone metody na ulepszenie funkcji serialize() ? Czy staracie się po prostu unikać używania jej?
Pozdrawiam!
darko
17.08.2012, 11:17:43
Mógłbyś rozwinąć pojęcie "niechciane znaczki" ?
misiek172
17.08.2012, 11:20:00
w przeszłości zdarzyło mi się parę razy, że rozlatywało się wszystko bo np. literkę polską jakoś liczył jako 2 znaki, zamiast 1
darko
17.08.2012, 11:44:47
Możesz nadpisać __sleep() i __wakeup() zamieniając przed serializacją polskie ogonki na cokolwiek w jakiejś umownej postaci, następnie w __wakeup() odtworzyć.
misiek172
17.08.2012, 11:55:01
istnieją jakieś gotowe funkcje, odpowiedniki serialize() i unserialize() ?
darko
17.08.2012, 11:58:57
Nadpisując metody magiczne __sleep() i __wakeup() możesz wykonać pewne czynności tuż przed zserializowaniem i tuż przed zdeserializowaniem.
misiek172
17.08.2012, 12:01:59
aa dobra zapomniałem, że można użyć json_decode i json_encode i po problemie
Crozin
17.08.2012, 14:53:46
Serializacja nie ma żadnych problemów ze "znaczkami". Ot, PHP zapisuje sobie liczbę bajtów, nie liczbę znaków.
Bosslog
19.08.2012, 13:15:23
Jeśli chcesz zaserializowane dane przenosić, kopiować z pliku do pliku i nie martwić się o utratę danych, możesz zakodować zaserializowany ciąg funkcją base64_encode(). Mi to bardzo pomogło.
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.