Frage zu enum und SQL-Verbindungsmöglichkeit zu htaccess

Hi Leute, ich bin mir bei einer Sache nicht ganz sicher, und wollte das hier mal bestätigt wissen. Und zwar bin ich vor ein paar Tagen auf eine Scriptvorlage gestoßen, welche eine Registrierung über eine Emailabfrage verifiziert und das ganze in eine MySQL-DB einträgt. Ich habe das Script für meine Zwecke modifiziert und läuft auch wunderbar.
Ich verstehe nur die Funktion enum(‚ja‘, ‚nein‘) nicht so wirklich, über welche die Aktivierung des Benutzerkontos abgewickelt wird. Ich habe davon mal ein Pic gemacht, um das ganze zu verdeutlichen. Die htpasswd Zeile ist für die nachfolgende Frage bestimmt.

Die Frage: Ist es richtig das die Daten aus der Tabellenspalte Morpheus solange nicht abgerufen werden können, bis "Aktiviert auf Ja gesetzt wird? Und das auf den Datensatz von Morpheus1 ohne Probleme zugegriffen werden kann, weil dort der Wert auf Ja steht?

Sorry für diese wohl für viele sinnlose und sonnenklare Frage .

Jetzt aber die Hauptfrage:
Ich habe eine ganze Weile im Internet recherchiert, wie man htaccess mit MySQL verbinden könnte, weil es bei einem zeitgleichen Zugriff auf die htpasswd-datei von zwei verschiedenen Membern, zu Problemen führen kann, welche bei MySQL-DB vom Server bereinigt werden.
Dabei bin ich auf einen hoch interessanten Eintrag gestoßen:

[quote=„Zitat: volatilegx aus einem englischsprachigem Forum“] I read that there is a way to get MySQL to „act“ as the .password file. Here is a .htaccess code sample:

AuthName „Please enter a password to my site:“
AuthType Basic
Auth_MYSQLdatabase
Auth_MYSQLpwd_table
Auth_MYSQLgrp_table
Auth_MYSQL_nopasswd On
Auth_MYSQLpwd_field
Auth_MYSQLuid_field
Auth_MYSQLgrp_field
Auth_MYSQL_EncryptedPasswords on
order deny,allow
allow from all
require group Group1 Group2 Group3

Any comments on the workability of this? I haven’t tested it myself. [/quote]
Das Thema wurde dort leider nicht weiter verfolgt, aber ich denke das es sich in dieser Form auf jeden Fall rentieren würde.
Hat evtl. jemand eine Idee wie, oder ob es vielleicht sogar so schon funktionieren würde?
Vielleicht hat ja schonmal jemand etwas in dieser Art realisiert.

Ich habe leider nur oberflächliches Wissen was Datenbanken angeht, aber reicht das in dieser Form wirklich aus, eine Spalte in der Datenbank abzurufen?

Gruß Fly

ein enum ist ein Feld, das nur bestimmrte Werte annehmen kann

enum(‘ja’, ‘nein’) kann also nur “ja” oder “nein” sein :wink:

Das Feld Aktiviert heißt nur, ob das Konto schon per Mail aktiviert wurde :wink:

last: keine Ahnung…ich hab das immer mit PHP realisiert :wink:

Ich habe es mal so probiert, aber leider auch wieder ohne Erfolg.
Mal schaun vll hat ja noch einer eine Lösung, ich werde es weiter versuchen.

AuthType Basic_______________________(Standart)
AuthName "MySQL Zugangsseite"(Willkürlicher Name der Abfrage)
Auth_MYSQLhost localhost_____________(ist wohl auch standart)
Auth_MYSQLusername mcfly
____(Username)
Auth_MYSQLpassword ***************** (MySQL Passwort)
Auth_MYSQLdatabase mcfly____________(Datenbankname)
Auth_MYSQLpwd_table Aktivierung______(Die Tabelle heißt Aktivierung)
Auth_MYSQLuid_field username_________(Feldbezeichnung in der der Username steht)
Auth_MYSQLpwd_field password________(Feldbezeichnung in der das PW steht)
Auth_MYSQL_EncryptedPasswords off___(Dies mal ausgeschaltet weil ich hier testweise nur auf die Felder mit Usernamen und PW zugreife.)
require valid-user_____________________(Sollte klar sein)

Fehlermeldung:

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@bplaced.net and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


Apache/2.2 Server at mcfly.bplaced.net Port 80

Zum ersten kann ich eigentlich nichts mehr hinzufügen :wink: Komplett richtig. Auf den Datensatz kann - egal auf was dieses Feld steht - immer ohne Probleme zugegriffen werden. Das dient nur zur Speicherung…

Zum zweiten: Ich glaube nicht, dass das hier bei bplaced aktiviert ist… Hab ich noch nie gesehen - müsste ja irgendwie zusätzlich zum Apache Server als Plugin oder so installiert werden. Ich denke nicht, dass es wirklich mal vorkommt, dass auf die .htpasswd gleichzeitig zugegriffen wird. Öffne die Datei einfach mit PHP und änder sie - oder du machst das Login komplett mit PHP :wink:

Edit: ach mist - war zu langsam. mcfly hat vor mir gepostet :wink:

Hm ich denke das thorr da recht haben könnte, ich werde mal beim Support nachfragen ob bei bplaced das Plugin Modul mod_auth_mysql installiert und aktiviert ist.

Hatte dies einfach vorausgesetzt, und garnicht darüber nachgedacht das das ja gar nicht so selbstverständlich ist.

Ich melde mich wieder wenn ich Bescheid weiß.

Achja und hier nochmal ein externer Link auf dem ich eine recht gute Erklärung zu diesem Thema gefunden habe.

Sollte dieser Link nicht erlaubt sein, bitte Bescheid geben oder einfach rauslöschen.

http://www.mayn.franken.de/home/falk/linuxstuff/mod_auth_mysql.html

Nö, wieso sollte der link nicht erlaubt sein? hier kannst du alles posten :smiley:

Moin nochmal,

ok Thorr hatte das gestern garnicht geschnallt das Du im Supportteam bist.
Danke für die ausführliche Antwort im Supportbereich :wink2: .

Für die Allgemeinheit:
Falls sich mal wieder einer mit der Verbindung zwischen htaccess und MySQL beschäftigen sollte, wird dazu ein Zusatzplugin: „Modul mod_auth_mysql“ und diverse Sondereinstellungen auf dem Server benötigt.
Da dieses Plugin bei bplaced nicht installiert ist, ist die Verbindung zwischen htaccess und MySQL hier nicht möglich.

Sollte sich das bei erhöhter Nachfrage mal ändern, wäre ich erfreut wenn mir hier einer Postet, und damit Bescheid gibt :slight_smile:.

Ich werde deshalb wohl auf ein Login-System mit PHP umsteigen, muss jetzt nur noch herausfinden wie man ein solches realisiert. Aber das kann ja nicht allzu schwer sein.

Gruß Fly