![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 1.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Na początek kawałek prostego kodu, w ramach testów połączenia z baza tylko, bo tutaj są problemy: Wywala mi błąd typu:
Wersja klienta MySQL: 5.0.90 Problem wygląda następująco: Kod ten na lokalnym serwerze typu wamp/xampp działa ok (oczywiście inny adres bazy) Wrzucony na serwer z obsługa PHP też działa prawidłowo. problem powstaje gdy kod ten podeślę znajomemu który wrzuca to na serwer oparty na linuxie. Wywala ten błąd. Czytał iż może być to problem z wersją MySQL i starym hashowaniem. Jednak skoro nie działa tylko u niego problem tkwi raczej w jego serwerze, Firewall etc całkowicie wyłączony, i to samo, choć to nie w tym problem raczej. Ma ktos pomysł o co tu chodzi? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
z tresci bledu wnioskuje, ze haslo, user lub cos innego jest za krotkie, niz jest to oczekiwane, chociaz nigdy nie mialem takiego problemu wiec to tylo sugestia do sprawdzenia
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 1.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Taj jak mówiłem wcześniej, na innym serwerze ten sam kod dział prawidłowo i nie ma tego problemu...
Więc jest tak że baza zostaje ta sama, przenosimy tylko ten plik na inny serwer i wtedy błąd się ujawnia. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 262 Pomógł: 39 Dołączył: 12.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
Która wersja PHP i rozszerzenia MySQL (mysqlnd)?
-------------------- rm -rf /*
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 1.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Informacje mojego serwera (prosto phpmyadmin):
PHP - 5.2 Wersja serwera: 5.0.91-log Wersja klienta MySQL: 5.0.90 Info od znajomego któremu to nie działa: PHP - 5.3.5 MySQL - 5.5.8 Pracujemy na tym samym serwerze MySQL, tylko różnych serwerach PHP, tak jak wspominałem jego serwer jest pod linuxem, może to ma wpływ na błąd... |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Błąd taki pojawia się gdy php w wersji 5.3 lub nowszej próbuje połączyć się z bazą, w której hasła zapisywane są w starym formacie.
Mysql w wersjach starszych niż 4.1 używał pól o długości 16 bajtów do zapisywania zakodowanych haseł. Wersja 4.1 wprowadziła 41-bajtowe pola. Sam fakt, że baza jest teraz w wersji wyższej nie oznacza że tabela user w bazie mysql jest w nowym formacie. http://dev.mysql.com/doc/refman/5.5/en/mysql-upgrade.html Ewentualnie można też spróbować downgrade php do wersji poniżej 5.3, ale tego bym nie polecał. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 1.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
OK. problem faktycznie tkwi w tym że mimo nowszej wersji MySQL hash jest 16 bajtowy. W wersji php poniżej 5.3 jest ok.
old_password jest włączone i niestety nie mam możliwości czegokolwiek tutaj ruszyć raczej. Zostaje więc downgrade PHP? Czy da jakoś to obejść? |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Najlepszym rozwiązaniem jest naprawdę poprawienie bazy. Nie przypuszczam by był to jakiś mocno oblegany serwer, telefon nie przestawałby dzwonić od wkurzonych klientów, którym nie działają strony z php+mysql. Zostawianie bazy w 16-bajtowej wersji haseł to proszenie się o problemy na przyszłość. Nie bez powodu nowe wersje php nie obsługują starych haseł, wymuszając niejako upgrade mysql. Zawsze można jakoś dogadać się z adminem by to zrobił, włącznie z demonstracją przechwycenia haseł, co w starym formacie jest do zrobienia, by go przekonać że nie dba o bezpieczeństwo. Ten upgrade to nie jest jakaś wielka robota, wystarczy odpalić gotowy skrypt z mysql, do którego instrukcję masz we wcześniejszym linku, wywalić old_password z opcji startu, zrestartować i ponownie ustawić hasła.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 05:38 |