[Apache2 / *SQL] hoe authenticatie op basis van IP uit db?

Pagina: 1
Acties:

  • usr-local-dick
  • Registratie: September 2001
  • Niet online
Hallo heren

Ik heb hier een webserver waarvan ik een mapje wil beveiligen op basis van remote ip adres.
Dit gaat op zich prima met een htaccess en daar voor ieder IP een "allow from x.x.x.x" statement in.
Echter ik wil dit in een database hebben.
Ik heb mod_auth_mysql aan de praat maar die is ge-ent op het authenticeren op basis van user/pass, hij heeft nog wel een mogelijkheid om als 'extraatje' ook het IP te checken maar lijkt absoluut geen mogelijkheid te zijn om alleen op IP te restricten....

iemand een idee hoe dit nog meer aangepakt zou kunnen worden?

PS het gaat om een folder die protected moet worden.

  • capedro
  • Registratie: Oktober 2000
  • Laatst online: 17-12-2025
Misschien een ideetje om dit met PHP op te lossen... deze checkt het IP-adres voordat ie de pagina weergeeft.... :)

My weblog


  • usr-local-dick
  • Registratie: September 2001
  • Niet online
Misschien een ideetje om dit met PHP op te lossen... deze checkt het IP-adres voordat ie de pagina weergeeft.... :)
ja dat hebik al, ik heb al ene mooie auth geschreven op basis van Pear's Net_IPv4 en Net_IPv6 dat werkt super. Die check al een db met IP's. Maar goed dat zijn losse files.
Maar nu wil ik een directory met files beveiligen, en daar werkt PHP natuurlijk niet...
Vandaar mijn vraag :)

  • Joen
  • Registratie: Juli 2003
  • Laatst online: 06-01 11:56
Is het niet ene idee om een database met gebruikersnamen en wachtwoorden aan te leggen en met behulp van PHP telkens een .htpasswd weg te schrijven?
Zo heb je wel het zelfde effect bereikt. Je moet er natuurlijk alleen wel om denken dat je eerst de wachtwoorden met het htpasswd programma aanmaakt en die opslaat ipv unencrypted wachtwoorden.

Edit:
Met IP-adressen zou dit natuurlijk net zo kunnen.

[ Voor 10% gewijzigd door Joen op 04-01-2006 16:28 ]


  • capedro
  • Registratie: Oktober 2000
  • Laatst online: 17-12-2025
En als je nu eens een lijstje hebt waarin alle ip-adressen staan die er in mogen... en vervolgens middels een crontab-je de .htaccess opnieuw bouwt...

dus zoiets als:
code:
1
2
3
4
5
6
7
#!/bin/bash
cat /path/htaccess-header > /path/.htaccess
for ips in `cat /path/access-list`;
do
   echo "allow from $ips" >>  /path/.htaccess
done
cat /path/htaccess-footer >> /path/.htaccess

De code hierboven heb ik _niet_ getest het is slechts een ideetje... dus er kunnen fouten in staan... gebruik op eigen risico!!!

En vervolgens roep je dit script aan middels de crontab :)

My weblog


  • smesjz
  • Registratie: Juli 2002
  • Niet online
capedro schreef op woensdag 04 januari 2006 @ 16:43:
En als je nu eens een lijstje hebt waarin alle ip-adressen staan die er in mogen... en vervolgens middels een crontab-je de .htaccess opnieuw bouwt...

dus zoiets als:
code:
1
2
3
4
5
6
7
#!/bin/bash
cat /path/htaccess-header > /path/.htaccess
for ips in `cat /path/access-list`;
do
   echo "allow from $ips" >>  /path/.htaccess
done
cat /path/htaccess-footer >> /path/.htaccess

De code hierboven heb ik _niet_ getest het is slechts een ideetje... dus er kunnen fouten in staan... gebruik op eigen risico!!!

En vervolgens roep je dit script aan middels de crontab :)
Alternatief is natuurlijk om via sudo apache zelf dat lijstje laten bijwerken vanuit PHP. Scheelt je weer een cronscriptje :) Mits je die database beheert via een eigen gemaakt PHP script.

  • usr-local-dick
  • Registratie: September 2001
  • Niet online
Ik was ook al tot dit idee gekomen (echt waar ;)).

De site beidt toegang aan mensen op basis van hun IP.
Helaas zijn er een hoop Chello en Multikabel etc abonnees die geen vast IP hebben.
Ik heb wel een lijst me al hun email adresses.
Hiermee heb ik met PHP een systeempje gemaakt wat toegang checkt op IP, is je IP verandert dan kan een emailadres ingevuld worden, en de gebruiker krijgt een cofirmation mailtje.
Daar staat een URI in die geklikt moet worden, en dan wordt zijn IP ge-update in mysql.
Tegelijkertijd met deze sql update kan er ook een nieuwe .htaccess geschreven worden door PHP.

Direct uit mysql lezen zou mooier zijn natuurlijk maar goed zo ka het ook.
bedankt iedereen!
Pagina: 1