Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Siteanmeldung per apache [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Siteanmeldung per apache


 
CasparJones
14-09-2005, 13:31 
 
Hallo Leute,

ich würde gerne auf einer Seite einen Memberbereich machen,
den ich über die Apache .htaccess schützen möchte.

Jetzt möchte ich aber nicht immer die .htpasswd ändern müssen
sondern möchte die kombiniation Name:pwd aus der
Datenbank auslesen.

Also so ähnlich wie es PhpMyAdmin auch kann.

Gibt es dafür evtl gute Tutorials bzw Codebeispiele um
sowas zu bewerkstelligen?

Bin für jede Hilfe dankbar.

Viele Grüße
Frank

 
TobiaZ
14-09-2005, 13:34 
 
*verschieb*

Ist ein Gesuch.

 
CasparJones
14-09-2005, 13:38 
 
Original geschrieben von TobiaZ
*verschieb*
Ist ein Gesuch.

Ups sorry wusste ich nicht... :rolleyes:

Greetz CJ

 
jahlives
14-09-2005, 13:43 
 
...sondern möchte die kombiniation Namewd aus der
Datenbank auslesen.

Ein Login mittels htaccess wird aber immer die htpasswd bemühen, so ist es einfach definiert.
Wenn du es ohne htpasswd machen willst, dann würde ich dir einen Login mit MySql vorschlagen und ganz auf den htaccess verzichten.
Tutorials für Logins wirst du sicherlich einige finden (auch hier bei php-resource.de)

Gruss

tobi

 
CasparJones
14-09-2005, 13:48 
 
Original geschrieben von jahlives
Login mit MySql vorschlagen

Und wie ist das gemeint?
HTML formular, formular übergibt an php script und das prüft ob
name und pw in der Tabelle richtig sind?

Irgendwie scheint das ja auch über die Apache access zu gehen, immerhin läuft es im PhpMyAdmin ja auch so, wenn im config file von phpmyadmin bei


// Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['auth_type'] = 'http';


angegeben wird... frag mich nur wie PhpMyAdmin diese Überprüfung macht?!? Würd mich ja gerne von denen "inspirieren" lassen ;)

Gruß CJ

 
jahlives
14-09-2005, 13:52 
 
Mittels http werden PW/Username unverschlüsselt im QueryString angehängt. Wenn die Kombination stimmt, dann wirste ohne Anmeldefenster reingelassen.
Wenn du das PW/Username schon anhängen willst, dann aber besser über eine SSL Verbindung.

Gruss

tobi

 
TobiaZ
14-09-2005, 18:41 
 
Irgendwie scheint das ja auch über die Apache access zu gehen, immerhin läuft es im PhpMyAdmin ja auch so, wie kommst du dadrauf?

 
CasparJones
14-09-2005, 18:52 
 
Original geschrieben von TobiaZ
wie kommst du dadrauf?

Naja, weil es so ausschaut...
hast du PhpMyAdmin bei dir local oder im Netz laufen?
Dann änder mal in der config.inc.php betreffende Zeile wo
nach der auth_type gefragt wird in http.

Und dann geh per Browser auf dein phpmyadmin.
Es kommt kein formular, sondern der Browser öffnet dieses
Fenster was bei .httaccess abfragen öffnet.

Ob PhpMyAdmin diese httaccess sachen dann generiert weiß
ich nicht, kann ich mir aber nicht so recht vorlesen, da ja keine php scripte laufen, bevor diese Abfrage durch ist, oder leige ich da falsch?

Jedenfalls kann man sich mit den Benutzerdaten von
MySQL in PhpMyAdmin einloggen und bekommt demnach auch
nur die Datenbanken zu sehen auf die der Benutzer zugriff hat.

Es muß doch da irgendein trick geben, wie die das von PHPMyAdmin machen. In der dokumentation von phpMyAdmin hab ich follgendes gefunden:


Quelle: phpMyAdmin (http://www.phpmyadmin.net/home_page/docs.php)
Since version 2.0.3, you can setup a central copy of
phpMyAdmin for all your users. The development of this feature was
kindly sponsored by NetCologne GmbH. This requires a properly
setup MySQL user management and phpMyAdmin HTTP or cookie
authentication. See the install section on "Using HTTP
authentication".

Es wird dann auch erklärt wie man das verwendet, aber ich würd es gerne diese Methodic auch für meine Scripte/Memberbereich verwenden...

kennt das denn keiner? :( :confused:
Oder hab ich das nur zu blöd erklärt und keiner versteht was ich meine?

Greetz CJ

 
pekka
15-09-2005, 00:58 
 
Original geschrieben von jahlives
Ein Login mittels htaccess wird aber immer die htpasswd bemühen, so ist es einfach definiert.
Quark. (http://httpd.apache.org/docs/1.3/howto/auth.html#database)

@CasparJones: Wenn Du einen eigenen Server mit Root-Zugriff hast, kannst Du es mit mod_auth_mysql (http://modauthmysql.sourceforge.net/) probieren. Das ist ein Apache-Modul, das genau das machst, was Du brauchst. Hab ich aber keine Erfahrung mit bezüglich Stabilität und Geschwindigkeit.

Vielleicht einfacher und mit weniger tiefen Eingriffen ins System verbunden wäre die Alternative, die Zugangsdaten wie gehabt mittels mySQL und PHP-Frontend zu verwalten und bei jeder Änderung die .htpasswd-Datei via PHP neu zu generieren?

 
CasparJones
15-09-2005, 01:41 
 
Hey Wow...

erstmal tausend dank für die ganzen antworten, aber
ich hab was gefunden:


<?php
function check_pw($u, $p) {
if ($u=="user" && $p=="passwd")
{
return true;
} else {
return false;
}
}

if (!isset($_SERVER['PHP_AUTH_USER'])
or !check_pw($_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']))
{
Header("WWW-Authenticate: Basic realm=\"My Realm\"");
Header("HTTP/1.0 401 Unauthorized");
echo "Text to send if user hits Cancel button\n";
exit;
} else {
echo "Hello $PHP_AUTH_USER.<P>";
echo "You entered $PHP_AUTH_PW as your password.<P>";
}
?>


Dies geht aber nur wenn PHP als Apache Modul läuft. :D
aber das scheint es bei mir zu tun...

Hier nochmal die Quelle (http://de3.php.net/manual/de/features.http-auth.php)

Greetz Frank

 
toshen
06-02-2006, 17:43 
 
http://www.elektronikschule.de/~grupp/perlcgi/authdbi.html

 
CasparJones
06-02-2006, 18:00 
 
Original geschrieben von toshen
http://www.elektronikschule.de/~grupp/perlcgi/authdbi.html

WOW danke, nach so langer zeit noch eine meldung, werd ich bei gelegenheit gleich mal austesten!!!

Viele Grüße Frank

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:01 Uhr.