Welcome, Guest. Please login or register.
Did you miss your activation email?
February 12, 2012, 05:17:03 AM

Login with username, password and session length
Search:     Advanced search
Interested in joining the WebsiteBaker team?
For more Information read here or on our new website.
149621 Posts in 21098 Topics by 7537 Members
Latest Member: lotte2
* Home Help Search Login Register
Pages: [1]   Go Down
Print
Author Topic: [gelöst] Nutzt WebsiteBaker password() in MySQL-Abfragen?  (Read 723 times)
Linger

Offline Offline

Posts: 78



WWW
« on: February 24, 2010, 10:12:34 PM »

Hallo geschätzte Community,

kennt von euch jemand die Tiefen des WB-Codes gut genug um mir zu sagen, ob WebsiteBaker die Funktion password() in MySQL-Abfragen verwendet? Beispielsweise so:
Code:
SELECT * FROM user WHERE `user` LIKE 'admin' AND passwd LIKE PASSWORD('$pwd');

Mein Hoster hat angekündigt (http://old-passwords.de/), dass infolge der Umstellung auf PHP 5.3 und damit verbundener Inkompatibilitäten MySQL-Anfragen, welche password() benutzen, künftig nicht mehr funktionieren werden und eine Umstellung auf old_password() nötig sei.

Ich kann auch selber im Code stöbern - aber vielleicht kennt jemand von euch ad hoc die Antwort.
Ein Projekt läuft noch auf WB 2.6.7.

Besten Dank und viele Grüße.
André
« Last Edit: February 27, 2010, 01:19:13 PM by Linger » Logged

http://www.andreherdling.de
Mediengestalter aus Leidenschaft
----
Avatar created by using the generator at http://www.sp-studio.de/
doc
Guest
« Reply #1 on: February 24, 2010, 10:16:33 PM »

Hi,

WB erzeugt mittels PHP Funktion md5() einen Hash des Passworts und speichert diesen dann in der Datenbank. Sprich das MySQL Update sollte keine Probleme bereiten, da die PASSWORD Funktion nicht verwendet wird.

Allerdings ist deine WB 2.6.7 mehr als veraltet.

Doc
« Last Edit: February 24, 2010, 10:18:47 PM by doc » Logged
DarkViper
Development Team
*****
Offline Offline

Posts: 1049


« Reply #2 on: February 25, 2010, 03:51:55 AM »

da werden gerade wohl mal wieder Äpfel und Birnen und noch eine ganze Biogemüsehandlung durcheinandergewürfelt....   Wink

Also:  SQL-Statements und SQL-Funktionen (wie z.B. PASSWORD() ) haben absolut nichts, nada, nothing mit irgendeiner PHP-Version zu tun.
PHP und SQL sind zwei völlig verschiedene Welten. Eine Änderung der PHP-Version kann, darf und wird auch NIEMALS den Befehlssatz von SQL beeinflussen können! Sonst müssten ja sämtliche Programme in allen verfügbaren Programmiersprachen (und es gibt sehr, sehr viele mehr, als hier im Web genutzt werden!) geändert werden, nur weil sich das kleine Lichtlein namens PHP erdreistet, einen Versionssprung zu machen....

Ich denke eher, dass da der Hoster seine Serverkonfiguration etwas genauer anschauen sollte..  dann würde er feststellen, dass das neue Image, das er aufgezogen hat nicht nur PHP von 1.0.. ups.. 5.2.x auf 5.3 upgegraded hat, sondern auch sein mySQLServer von einer Version kleiner 4.1 auf eine neuere, grösser 5.1er Version.

Und genau hier gibt es ein kleines Problem:
Die PASSWORD() von mySQL <4.1 erzeugte einen Hashwert, der gespeichert wurde.
Auch bei mySQL >5.1 wird durch PASSWORD() ein Hashwert erzeugt...  allerdings nach einem etwas verbesserten Alghorythmus.  Dadurch sind die Hashes der uralt-4er nicht mit denen der neuen 5er identisch.

Quote from: MySQL 5.1 Reference Manual
B.5.2.4. Client does not support authentication protocol
MySQL 5.1 uses an authentication protocol based on a password hashing algorithm that is incompatible with that used by older (pre-4.1) clients. If you upgrade the server from 4.0, attempts to connect to it with an older client may fail...

Problemlösung:  bevor jetzt irgendeine Software deswegen umgestrickt wird, einfach die Benutzerpasswörter mit der neuen Version auf einen neuen Wert setzen und den Usern zusenden. Dadurch werden neue, gültige Hashes geschrieben.. und als positiver Nebeneffekt werden die eingestaubten Passwörter der User gleich auch mal wieder geändert..... (und die Passwortliste liest sich nicht mehr wie ein Namenskatalog der Haustierfreunde e.V. Wink )

@Linger:::
speziell in Deinem Fall solltest Du mehr als dringend auf WB 8.2.1 upgraden, denn das läuft inzwischen auch mit PHP 5.3 (fast 100%) sauber...  Deine alte 2.6.x Version wird Dir da heftigste Probleme verursachen..(falls sie überhaupt läuft). Die Probleme sind allerdings voll PHP-bedingt. mySQL wird keinerlei Schwierigkeiten machen.

Logged

Anleitungen lesen und selber nachdenken ist anstrengend...  Da lass ich doch lieber andere für mich denken...

In 1984:  Nineteen Eighty-Four is a unrealistic utopia!!
In 2012:  Nineteen Eighty-Four is a little piece only of our reality!!
doc
Guest
« Reply #3 on: February 25, 2010, 07:21:44 AM »

@Darkviper:
Naja, was für die einen Äpfel mit Birnen vergleichen ist, ist für die anderen das beantworten einer Frage.

Sprich auf die Frage ob in WB die MySQL PASSWORD Funktion verwendet wird gabs die Antwort: nein, WB verwendet die PHP md5 Funktion um den Hash des Passworts zu erzeugen und speichert diesen dann in der Datenbank.

Jetzt könnte man sich auch noch darüber auslassen dass WB ungesalzene MD5 Hashes verwendet, ein anderes Verfahren verwendet werden sollte etc. Aber da das nicht die Frage war, habe ich mir das in der ersten Antwort verkniffen. Jetzt dürften ja genügend Infos vorhanden sein wink

Doc
« Last Edit: February 25, 2010, 07:42:27 AM by doc » Logged
Waldschwein
Guest
« Reply #4 on: February 25, 2010, 07:47:42 AM »

Hallo,

man sollte dabei hinweisen, dass besagter Hoster All-Inkl heißt, so eine halbe Millionen Kunden hat und zudem WebsiteBaker bei einigen Tarifen (ob zufallsgeneriert oder nicht keine Ahnung, auf jeden Fall nicht bei jedem) WB vorinstalliert anbietet, zur Auswahl aus anderem CMS.
Zudem kann man bei All-inkl momentan PHP4, PHP 5.2 und PHP 5.3 grundsätzlich per .htaccess ansteuern.
Das wird sich in Zukunft auch nicht ändern.

Gruß Michael
Logged
Linger

Offline Offline

Posts: 78



WWW
« Reply #5 on: February 27, 2010, 01:25:36 PM »

Hallo zusammen,

besten Dank für eure Antworten! Ich habe inzwischen auch selber im kompletten WB-Code nach "PASSWORD(" gesucht und nichts gefunden - sollte also wirklich kein Problem darstellen.

Das ein Update der alten Version dringend nötig wäre ist mir selbstverständlich klar - letztlich muss das aber der "Kunde" entscheiden. Mittelfristig wird das aber sicher durchgeführt.

Die besten Grüße
André
Logged

http://www.andreherdling.de
Mediengestalter aus Leidenschaft
----
Avatar created by using the generator at http://www.sp-studio.de/
doc
Guest
« Reply #6 on: February 27, 2010, 02:02:20 PM »

Hi,

da ja von Waldschwein angesprochen, im Anhang der Wortlaut der All-Inkl E-Mail betreffend MySQL-Funktion PASSWORD().

Wer eine solche E-Mail von All-Inkl bekommen hat braucht in Bezug auf WebsiteBaker nichts weiter zu unternehmen, da WebsiteBaker diese Funktion nicht verwendet.

Doc
« Last Edit: February 27, 2010, 02:05:13 PM by doc » Logged
Pages: [1]   Go Up
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!