Beste PHP'ers,

Ik heb een vraagje,
Is het mogelijk om inlog-gegevens uit een database te halen en dan in te loggen via htaceess?

Gr,
Loran

Dus eigenlijk kort: inglog-gegevens uit db gebruiken voor htaccess login.
Je bedoelt wellicht basic-authentication? Nou, daar is PHP goed in. Het is namelijk niet door apache ondersteunt om een DB o.i.d. te specificeren. Je kunt met PHP echter ook gewoon een basic-authentication opzetten. Zie eens [google]php basic authentication[/google].

BTW: basic-authentication is niet de veiligste manier. Bij elke request wordt dan namelijk gebruikersnaam en wachtwoord weer naar de server gestuurd. Ik zou eigenlijk gewoon voor een inlog formulier gaan. Daarbij is het slechts eenmaal nodig om gebruikersnaam en wachtwoord naar de server te sturen.
Basic auth geeft je natuurlijk wel de mogelijkheid om een db te gebruiken, je kunt de headers gewoon vullen met variabelen.
Jurgen schreef op 29.09.2009 12:03
Basic auth geeft je natuurlijk wel de mogelijkheid om een db te gebruiken, je kunt de headers gewoon vullen met variabelen.
Yep, maar je kunt daarvoor niet .htaccess gebruiken...
Wat dus eigenlijk bedoel is de manier van Jan - Willem, en dan uit een db de inlog-gegevens
Ik ga daarmee aan de gang!

Bedankt
Htaccess heeft niks te maken met php,sql,.....
htaccess is apache...
1)
Je zou met een cron de .htpasswd kunnen bijwerken, maar uit veiligheidsoverwegingen is het misschien beter van niet.

In theorie zou je met cron een shell script kunnen draaien dat met sql gegevens de passwd file kan muteren.

Als in;


<?
$inhoud = '';
while ($gebruiker = mysql_fetch_object($resource)) {
  $inhoud .= sprintf("\n%s:%s",$gebruiker->gebruikersnaam,hashfunctie($gebruiker->wachtwoord)));
}
system(sprintf("%s > /pad/naar/htpasswd",$inhoud),$resultaat);
if ($resultaat != 0) {
  exit($resultaat);
}
?>


Dit is natuurlijk een theoretische benadering, je zult in dit geval kammen met obscuur ownership van de passwd file, maar toch.


2)
Google eens op mod_mysql_auth ( o.i.d. ), die library moet samen kunnen werken met apache.

Laat ons even weten hoe het afloopt.

Suc6

@ Twan,
Dus eigenlijk wat jij bedoelt is:
Zet alle login-gegevens in een DB
Laat met behulp van CornJobs .htpassword elke ~12 uur updaten.

Wat ik dan het beste kan doen is die pagina die aan CornJobs vast zit niet in de www-root zetten.

Bedankt!
Mr Bean,

het is een theoretische mogelijkheid, praktisch gezien is dit niet handig danwel veilig.

Je kunt beter een library pakken die authenticatie verzorgt tussen b.v. apache en mysql. In mijn post heb ik een verkeerde library genoemd, ik heb even gegoogled en het bleek om library mod_auth_mysql te gaan,

hier heb je een tut;
http://www.linuxquestions.org/questions/linux-security-4/using-the-mysql-database-for-authentication-on-apache-server-116991/

laat even weten of het gelukt is, suc6
Het ***te is ik heb geen toegang tot de httpd.conf...............
Dus het moet wel anders
Dan met een standaard inlogsysteem of de .htacces schrijven dmv PHP

Reageren