Zobacz temat
B??d: Notice: unserialize w submissions.php z katalogu admina
|
|
Wooya |
Dodany dnia 18.03.2005 14:35:36
|
![]() Zaawansowany ![]() Postów: 1449 Pomógł: 22 Data rejestracji: 30.01.2005 15:40 |
Spotka? si? kto? z takim bl?dem, ?e nie wy?wietla zawarto?ci nades?anego przez uzytkownika materia?u? Wsykakuje b??d przy funkcji unserialize(). Obluka?em kod i wszystko wygl?da ok.... Hmmmm.... Znam fusiona niemal na wylot, ale tutaj zglupialem... W 4.01 tego nie bylo. Przyk?adowy listing bledu z php: Edytowane przez Pieka dnia 13.11.2009 18:43:50 ... Pomagam tylko przy najnowszych wersjach PHP-Fusion ... ![]() |
|
|
W?cibski Go?? |
Dodany dnia 09.09.2025 08:09:58
|
Pan Kontekstualny Postów: n^x Data rejestracji: Zawsze |
![]() |
IP: localhost | |
SebaZ |
Dodany dnia 18.03.2005 15:49:28
|
![]() Zaawansowany ![]() Postów: 1598 Pomógł: 2 Data rejestracji: 10.11.2004 22:39 |
a zmienia?e? co? w definicjach i przypisywaniu wysy?anych danych do zmiennych
Zadawanie pyta? na forum to nie jest prawo, to jest przywilej, którego ka?dy mo?e by? pozbawiony je?eli nie b?dzie umia? z niego korzysta?. Nie wymagaj wi?c natychmiastowej odpowiedzi.
|
|
|
Wooya |
Dodany dnia 19.03.2005 17:07:34
|
![]() Zaawansowany ![]() Postów: 1449 Pomógł: 22 Data rejestracji: 30.01.2005 15:40 |
SebaZ napisa?(a): a zmienia?e? co? w definicjach i przypisywaniu wysy?anych danych do zmiennych Na poczatku (na potzreby mojej wersji PHP Fusion Multilanguage Support) tak. Ale pozniej sprawdzilem na oryginalnym 5.01 i to samo. Dziwne. Ale coz, bede patrzal dalej... ... Pomagam tylko przy najnowszych wersjach PHP-Fusion ... ![]() |
|
|
BlackDog |
Dodany dnia 19.03.2005 19:25:22
|
![]() Pocz?tkuj?cy ![]() Postów: 116 Data rejestracji: 06.03.2005 17:28 |
wi?c tak IMHO to je?eli nie widzisz zadnego b??du w pliku submission.php w katalogu admina, a mimo to b??d wyskakuje, to musi to z czego? wynika? i musi mie? jak?? przyczyn? - wystarczy tylko j? znale??. Wi?c pomy?lmy logicznie - ogólnie patrz?c, plik submissions.php s?u?y do wy?wietlania w panelu admina nades?anych przez usera materia?ów - linków, newsów , artyku?ów i ewentualnego ich opublikowania lub usuni?cia nades?ane przes usera materia?y znajduj? si? w tablicy fusion_submisions. plik submisions.php ma za adanie odczyta? te dane z tej tablicy - wszystko spoko - ale pojawia si? w nim ta funkcja unserialize() - jak my?lisz do czego ona s?u?y? popatrz na przyk??dowego newsa o tytule TEST i tre?ci TEST TEST TEST, , jak on wygl?da w tablicy fusion_submisions: znaczenia poszczególnych pól bardzo ?atwo si? domy?li?, ale ciekawe jest w?a?nie to ostatnie pole - dlaczego tak dziwinie wygl?da? odpowied? jest prosta - bo znajduje si? w nim co? co zosta?o poddane serializacji. ale co to mog?o by? i dlaczego to tak wygl?da? nie powiem na 100% bo przyznaj? si? ?e nie patrzy?em w kod, ale wygl?da na to, ze nadsy?ane przez usera newsy i materia?y s? przechowywane jako obiekty(mam nadzieje ?e mniej wi?cej wiesz co to jest obiektowo?? - a je?eli nie to powedzmy, ze jest to jakby egzemplarz przedmiotu danej klasy, o cechach opisanych w???nie w tej klasie - taka jakby struktura danych, przechowuj?ca ró?ne informacje o danym przedmiocie - w tym przypadku o newsie nades??nym przez usera) po co si? korzysta z klas i obiektów - bo naprawde u??twiaj? w niektórych sytuacjach ?ycie . No wi?c mamy nasz przypadek - user doda? newsa - zosta? on zapisany w specjalnym obiekcie (nie patrzy?em w kod w szczegó?u, ale wida? co zawiera ten obiekt) . no i teraz mamy problem, jak zapisa? taki obiekt w bazie danych - przecie? nie ma takiego typu danych i w ogóle ci??ko by by?o zmie?ci? to wszystko w jednym polu - ale jest na to sposób - a nazywa si?... SERIALIZACJA u?ywamy do tego funkcji serialize(), która przekszta?ca nam dany obiekt czy te? tablic? w ?a?cuch znaków - jaki - widzimy na przyk?adzie taki ???cuch znaków spokojnie mo?emy ju? zapisa? sobie w jednym polu jako text. - ale jak to teraz odczyta? ?eby si? spowrotem z?o?y?o do kupu w obiekt czy tablic?? u?ywamu do tego funkcji unserialize() - dzia??nie odwrotne do serialize. A teraz do rzeczy - moim zdaniem, je?eli, jak piszesz, w pliku submisions.php nie ma b??du, to poszukaj go w pliku odpowiedzialnym za dodawanie przez usera newsów, linków itd, bo moze tam w wyniku Twojej przeróbki usuna??? gdzie? nieopatrznie jak?? linijk? odpowiedzialn? za serializacj? danych , i teraz nie mozna ich poprawnie zdeserializowa? - cho? to tylko moje przypuszczenia i wcale nie musz? si? okaza? prawd?. Mozlwie te? ?e w pliku odpowiedzialnym za dodawania przez ludzika newsa mog?e? sobie gdzie? nieopatrznie usun?? w którym? miejscu funkcj? addslashes(), która dodaje slashe przed cudzys?owami i teraz przy próbie wy?wietlenia tego si? kipszczy jak to zwykle przy u?ywaniu cudzys?owów. Jak ju? powiedzia?em , s? to tylko takie moje przypuszczenia, bo na tyle dok??dnie nie znam jeszcze php-fusiona zeby mie? pewno?? co do tego, ale moze moja epopeja pomoze Ci zlokalizowa? b??dzik a innym osobom rozszerzy wiedz? na temat php :) Pozdrawiam -BlackDog PS. to s? tylko moje lu?ne wywody, któe pisa?em z g?owy i musicie sobie sprawdzi? poprawno?? moich rozwa?a? pod wzgl?dem budowy fusiona - nie patrzy?em w kod, wi?c mog? by? b?edy rzeczowe, ale chodzi?o mi o sam? ideei sposó szukania b?edów :) Edytowane przez BlackDog dnia 19.03.2005 19:36:15 |
|
Przejdź do forum: |