Encoder: Fragwürdige Literatur (web & mobile Developer, Ausgabe 11/2013)

Beitrag lesen

In der MySQL-Tabelle wird die E-Mail-Adresse als Primärschlüssel verwendet und behauptet, damit wäre sichergestellt, dass sie eindeutig ist.

Eindeutig ist sie damit ja schon. Aber ob die unbedingt Kandidat für einen Primärschlüssel ist? Das sollte vielmehr ein Auto-Wert sein würd ich sagen.

Ein paar Zeilen Später wird gesagt, dass der Benutzername natürlich auch eindeutig sein soll und man das nachher im PHP-Script prüfen soll - wozu?

Eindeutige Benutzernamen machen das Einloggen um einiges einfacher :-) Prüfen ist doch ok, besser als wenn die DB einem das um die Ohren haut.

Warum kann man keinen Index über Benutzername + E-Mail ziehen und beide dann als Kombination eindeutig machen

Macht nicht wirklich Sinn, dann könnte eine Mailadresse mit mehreren Benutzernamen verknüpft sein und andersrum auch.

Der Rest ist in der Tat ziemlich krass.

man holt sich also eine Liste _aller_ Benutzer und geht die in einer Schleife durch

Grad ist doch große Krankheitswelle, da kanns schon passieren dass man einen Buchhalter (nicht negativ gemeint!) über PHP schreiben lässt :-)

Zusätzlich bietet der beschriebene Vorgang im Artikel auch die Möglichkeit einer Race Condition wenn man prüft ob ma einfügen darf und jemand "gleichzeitig" denselben Benutzernamen registrieren möchte.

Da würde ich es drauf ankommen lassen dass die DB mir alle paar Jahre mal einen Fehler wirft und die Anmeldung dann zu wiederholen ist.

Hast du denen geschrieben was du davon hältst? Da wäre ein Leserbrief angebracht, nicht nur eine Mail. Wenn sie mutig sind lassen sie das 1. prüfen und drucken 2. eine Reaktion drauf ab. Es kann nur besser werden.