.htaccess und MySQL

Alles, was den Apache betrifft, kann hier besprochen werden.

.htaccess und MySQL

Postby Superotto » 13. January 2009 13:05

Hallo,
ich hoffe ich bin hier richtig.

Eine Frage zum Thema 'Zugriffsschutz und Benutzerverwaltung':

Ich möchte .htaccess zusammen mit MySQL verwenden.
Ich habe z.B. eine MySQL-Tabelle 'USER' und eine Tabelle 'GRUPPEN' in der von einer Webseite aus neue User und Gruppen (zu denen die User gehören) angelet werden.
Doch wie muss ich jetzt .htacces oder .htpasswd einrichten, damit ich den Zugriffschutz auf bestimmte Seiten meiner Webpage erstelle?
Superotto
 
Posts: 16
Joined: 07. October 2008 14:36

Re: .htaccess und MySQL

Postby glitzi85 » 13. January 2009 13:09

Wenn du XAMPP 1.7 hast, dann geht das nicht so einfach. Du musst XAMPP 1.6 runterladen (http://sourceforge.net/project/showfile ... e_id=89552), entpacken und die Datei xampp\apache\modules\mod_auth_mysql.so in den entsprechenden Ordner deiner XAMPP-Installation kopieren. Dann das Modul in der httpd.conf laden und entsprechend konfigurieren: http://modauthmysql.sourceforge.net/CONFIGURE

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Re: .htaccess und MySQL

Postby Superotto » 13. January 2009 13:51

Und wenn ich nicht XAMPP verwende sondern über meinen Webhost die Möglichkeit habe die .htacces-Datei und die .htpasswd-Datei zu verändern? Wie kann ich die Schnittstelle zwischen .htaccess und MySQL erstellen?
Superotto
 
Posts: 16
Joined: 07. October 2008 14:36

Re: .htaccess und MySQL

Postby glitzi85 » 13. January 2009 14:41

Wenn dein Webhoster mod_auth_mysql nicht eingebunden hat, dann musst du dir was anderes überlegen.

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Re: .htaccess und MySQL

Postby Superotto » 13. January 2009 16:03

Erst einmal vielen Dank für Deine Hilfe.

Es ist nicht nur so, dass ich die .htaccess und .htpasswd Dateien verändern kann sonder ich kann sie selber erstellen und in das entsprechende, zu schützende Verzeichnis, stellen (mag für Dich das gleiche sein aber ich frage doch lieber noch einmal). Brauche ich dann immer noch mod_auth_mysql?
Ich habe, ohne bis jetzt von meinem Webhost eine Nachricht bekommen zu haben, etwas von einem mod_auth_basic (u.a.) gelesen? Geht das in die Richtung?
Superotto
 
Posts: 16
Joined: 07. October 2008 14:36

Re: .htaccess und MySQL

Postby glitzi85 » 13. January 2009 16:24

Verändern und erstellen ist technisch gesehen ein unterschied, ist hier aber unrelevant.

Für den Apache gibt es mehrere Module, die Authentifizierungen vornehmen können. Es läuft immer so ab, dass der Apache die eingegebenen Zugangsdaten vom Benutzer mit der entsprechenden Quelle abgleicht und dann entweder den Zugang gewährt oder verweigert. Bei basic ist die Quelle im Normalfall einfach eine Datei (.htpasswd). Bei mod_auth_mysql wird eine Verbindung zu einem MySQL Server hergestellt und damit verglichen. Wenn du die Benutzerdaten in einer MySQL-Datenbank gespeichert hast, dann benötigst du auf jeden Fall das mod_auth_mysql Modul um die in den Apachen einzubinden.

Es gäbe allerdings noch eine alternative, nicht ganz so schön, aber möglich. Du kannst ein Script schreiben, welches dir automatisch eine .htpasswd aus den MySQL Daten generiert. Entweder musst du dann dieses Script nach jedem Update der Datenbank manuell aufrufen, oder du lässt es per Cronjob automatisch jede Stunde oder öfter ablaufen. Dazu müsste dir dein Hoster allerdings Cronjobs zur Verfügung stellen oder du verwendest einen Cronjob-Dienst wie cronjob.de
Wenn die Passwörter natürlich als MD5-Hash in der DB liegen, dann hast du ein mächtiges Problem.

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Re: .htaccess und MySQL

Postby Superotto » 14. January 2009 09:07

Wie mir mein Webhost mitteilte, haben sie das Modul mod_auth_mysql 'leider' nicht.

Ein Passwort-Generator ist in meinem Fall [u]nicht[/u] nötig:
Es handelt sich bei mir um ca. 40 Personen (wie z.B. Mieter in einem Haus) die in vier Gruppen aufgeteilt werden. Jeder Gruppe soll eine Seite der Webpage zugeordnet werden. Somit ist auch ein Passwort pro Gruppe ausreichend (was dann z.B. direkt in der .htaccess eingetragen werden könnte).
Der Wunsch ist, dass es sozusagen einen 'Administartor' gibt der ganz einfach auf einer 'Administrations-Webseite' die sich ändernden Personen hinzufügt, ändert, deaktiviert und sie den Gruppen zuteilt.
Gibt es da nicht noch eine (einfache) Lösung?

Danke.
Superotto
 
Posts: 16
Joined: 07. October 2008 14:36

Re: .htaccess und MySQL

Postby glitzi85 » 14. January 2009 23:47

Wenn du dich mit PHP auskennst, kannst du natürlich ein Script schreiben, welches die .htpasswd ausliest, die Daten auswertet und änderungen in die Datei reinschreibt. Ist eigentlich nicht schwer, kann ich dir auch programmieren, wenn ich nachher zuhause bin. Dann müsstest du mir aber grob beschreiben wie die Ordnerstruktur ist und welcher Ordner geschützt werden muss.

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Re: .htaccess und MySQL

Postby Superotto » 15. January 2009 12:17

Da wäre ich Dir natürlich sehr, sehr dankbar, wenn Du mir da etwas programmieren könntest.

Meine Ordnerstruktur ist bis jetzt noch sehr einfach:
Im Hauptordner ist nur ein weiterer Image-Ordner und dann die einzelnen Dateien: Teilnehmer.php, Besitzer.php, Verwaltung.php und Vorstand.php sowie die Abwandlungen der Dateien für die einzelnen Gruppen (insgesamt 10 Seiten).

Hier noch einmal etwas übersichtlicher:

Es soll eine User-Tabelle (MySQL) geben:

id.......... Vorname.......Nachname.............Email...............................Telefon
1...............Willi............Mayer. ... r@yahoo.de................089/ 23444432
2..............Heinz..........Schmid... ... google.com..............0711/12345678
usw.

eine Gruppen-Tabelle:

id.......................Rechte
1............Teilnehmer....lesen schreiben
2............Besitzer........lesen
3............Besitzer........lesen schreiben
4............Verwaltung....lesen
5............Verwaltung....lesen schreiben
6............Vorstand.......lesen schreiben löschen


und eine Zuweisungen-Tabelle:

id...............userId .....gruppenId
1...................2.............1
2...................1.............3
usw.


Ich hatte geschrieben:
„Jeder Gruppe soll eine Seite der Webpage zugeordnet werden.“
Da muss ich mich etwas korrigieren:
Es gibt zwar eine Seite speziell für jede Gruppe aber:
Teilnehmer:........darf nur eigene Seite sehen;
Besitzer:............eigene Seite und die von Teilnehmer;
Verwaltung:.......eigene Seite und die von Teilnehmer und Besitzer
Vorstand:..........darf alle Seiten sehen

Dann gibt es noch eine Administrator Seite:
Hier sollen neue 'User' hinzugefügt werden (Hinzufügen, Bearbeiten, Löschen) was ja nicht weiter schwierig ist. Dann noch die Zuteilung der User in die Gruppen z.B. mit Hilfe von Radio-Buttons.

Da ja noch alles in der Entwicklung ist, kann z.B. die Tabellenstruktur ohne weiteres umgestellt werden.

Ich hoffe, dass ich Dir jetzt alle Infos übersichtlich gegeben habe die Du brauchst.
Schon im Voraus vielen Dank.
Superotto
 
Posts: 16
Joined: 07. October 2008 14:36

Re: .htaccess und MySQL

Postby Nobbie » 15. January 2009 14:32

WIeso lernst Du nicht selbst SQL und PHP und programmierst das?

Ich glaube nicht, dass glitze das so gemeint hat und mal eben eine komplette User/Group Rechte-Administrationssoftware inkl. Oberfläche programmieren wird. Das dauert etwas länger als nur "mal eben".
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: .htaccess und MySQL

Postby glitzi85 » 15. January 2009 16:10

Ich dachte dabei eigentlich schon mehr an einen simples Frontend für die htpasswd. Was du willst ist ein ganzes Benutzermanagement. Das ist nicht ganz so einfach zu bewerkstelligen, vor allem da du ja auch lesen/schreiben Zugriff haben willst. Das geht mit htaccess gar nicht, weil es unter HTTP keinen schreibenden Zugriff gibt (von DAV mal abgesehen). Davon abgesehen hört sich deine aktuelle Struktur arg nach totaler Redunanz an.

In dem Fall würde ich doch besser ein fertiges CMS empfehlen. Gibt dazu auch viele Vereinsvorlagen.

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Re: .htaccess und MySQL

Postby Superotto » 15. January 2009 16:39

Hallo, das war natürlich etwas zu aufwendig dargestellt, sorry:
Vergesse bitte das Ganze was ich vorher geschrieben habe insbesondere die 'Rechte', das mache ich.

Doch wie schaffe ich es bestimmten Gruppen/Usern nur Erlaubnis für bestimmte Seiten zu geben? Könntest Du mir da bitte etwas helfen/programmieren?
Wie gesagt, einen Passwort-Generator brauche ich nicht. Die Passwörter können fest eingetragen werden.
Superotto
 
Posts: 16
Joined: 07. October 2008 14:36

Re: .htaccess und MySQL

Postby Nobbie » 15. January 2009 23:40

Wie steht es denn konkret um Deine PHP Programmierkenntnisse? Und SQL Kenntnisse?
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: .htaccess und MySQL

Postby Superotto » 18. January 2009 21:51

Wie es konkret um meine PHP Programmierkenntnisse aussieht? Und SQL Kenntnisse?
Naja, was soll ich sagen? Wenn ich es selber programmieren könnte würde ich es sicher nicht ins Forum setzen. Ich werde versuchen diese Niveau zu erreichen auch wenn es mit Sicherheit noch länger dauern wird.
Ein Login-Script habe ich. Auch die Theorie, wie man das oben genannte umsetzen könnte. Aber das Ganze jetzt praktisch in PHP/SQL zu schreiben und dazu noch in ein Login-Script zu integrieren? Nein, das ist mir nicht möglich :roll: .
Thanks.
Superotto
 
Posts: 16
Joined: 07. October 2008 14:36


Return to Apache

Who is online

Users browsing this forum: No registered users and 9 guests