[PHP] inloggen op site, http authenticatie

Pagina: 1
Acties:
  • 120 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • trinite_t
  • Registratie: Maart 2003
  • Laatst online: 17-09 14:06
Ik ben op dit moment bezig met het uitwerken van een soort filesystem idee in php. Maarjah, aangezien er straks ook bestanden geupload moeten worden(en nog meer bestandssysteem acties) moet er een degelijke beveiliging omheen.

Ik zit zelf te denken aan http authenticatie, aangezien mij dat het meest veilig lijkt. Nu loop ik alleen tegen een paar dingen op:
- Werkt http authenticatie op een hele map? (oftewel, kun je niet andere bestanden uit een map wel uitvoeren zonder invullen van ww?)(is er ook een methode om een ongeauthenticeerde gebruiker naar de index.php te verwijzen?)
- Hoe zit het met het gebruik van de .htaccess file, moet je deze gebruiken? of kun je ook gaan werken met een database voor opslag van de gebruikersnaam (ik heb meerdere types accounts nodig, en waarschijnlijk nogal veel accounts)
- Is het ook mogelijk om die lelijke popup van je browser te vermijden, dus door een "soort" form op je site?


Ik heb ook wel zitten denken aan gewoon een php inlog scriptje te gebruiken, maar dan moet je in elk bestand opnieuw gaan checken of de gebruiker is ingelogd.. dit wil ik graag voorkomen.

Ik ben zelf al druk aan het uitproberen geweest, maar loop heel erg tegen het probleem aan dat $_SESSION['$PHP_AUTH_USER'] leeg blijft... Hoe zit dit?

The easiest way to solve a problem is just to solve it.


Acties:
  • 0 Henk 'm!

Verwijderd

trinite_t schreef op woensdag 23 november 2005 @ 19:39:
Ik ben op dit moment bezig met het uitwerken van een soort filesystem idee in php. Maarjah, aangezien er straks ook bestanden geupload moeten worden(en nog meer bestandssysteem acties) moet er een degelijke beveiliging omheen.

Ik zit zelf te denken aan http authenticatie, aangezien mij dat het meest veilig lijkt.
Het is niets veiliger dan een andere vorm van authenticatie. Het is wel zo dat het soms net even praktischer is.
Nu loop ik alleen tegen een paar dingen op:
- Werkt http authenticatie op een hele map? (oftewel, kun je niet andere bestanden uit een map wel uitvoeren zonder invullen van ww?)
Nee, HTTP authenticatie werkt gewoon per request. Als je de ingebouwde mogelijkheid van Apache wilt gebruiken, kunt je allerlei voorwaarden toepassen, bijvoorbeeld alleen bepaalde directories, alleen bepaalde bestanden, etc.
is er ook een methode om een ongeauthenticeerde gebruiker naar de index.php te verwijzen?
Uiteraard, je kunt hiervoor het best gewoon een PHP script maken dat de authenticatie controleert. Dat hoeft heus niet per se HTTP authenticatie zijn.
- Hoe zit het met het gebruik van de .htaccess file, moet je deze gebruiken? of kun je ook gaan werken met een database voor opslag van de gebruikersnaam (ik heb meerdere types accounts nodig, en waarschijnlijk nogal veel accounts)
Dan is het werken met een .htaccess bestand nog wel mogelijk, maar niet erg praktisch. Hiervoor moet je speciale Apache modules gebruiken. Je kunt beter zelf iets schrijven, of zoeken op de bekende sites als hotscripts.com
- Is het ook mogelijk om die lelijke popup van je browser te vermijden, dus door een "soort" form op je site? Ik heb ook wel zitten denken aan gewoon een php inlog scriptje te gebruiken, maar dan moet je in elk bestand opnieuw gaan checken of de gebruiker is ingelogd.. dit wil ik graag voorkomen.
Dat kan, en dan is HTTP authenticatie weer wel handig. Dat kun je denk ik wel voor elkaar krijgen door wat creatief te zijn met HTTP headers.
Ik ben zelf al druk aan het uitproberen geweest, maar loop heel erg tegen het probleem aan dat $_SESSION['$PHP_AUTH_USER'] leeg blijft... Hoe zit dit?
Daar moet je het niet zoeken, maar in $_SERVER['PHP_AUTH_USER'].

Acties:
  • 0 Henk 'm!

  • trinite_t
  • Registratie: Maart 2003
  • Laatst online: 17-09 14:06
Daar moet je het niet zoeken, maar in $_SERVER['PHP_AUTH_USER'].
Tnx, daar zat ik hele middag al tegenaam te hikken... Dat ik het zelf niet gezien heb 8)7
Nu kan ik weer verder... Denk idd dat ik maar HTTP authenticatie ga...(zoals al gemeld..) wil 't iig toch snappen.. en het moet dus mogelijk zijn om dat loginscherm te emuleren :), dus ik zit niet weer met iets te klooien dat niet gaat werken.. :X

The easiest way to solve a problem is just to solve it.


Acties:
  • 0 Henk 'm!

  • kunnen
  • Registratie: Februari 2004
  • Niet online
Verwijderd schreef op woensdag 23 november 2005 @ 19:50:
[...]

Het is niets veiliger dan een andere vorm van authenticatie. Het is wel zo dat het soms net even praktischer is.
[..]
Sterker nog: Het is onveiliger! Veel brute force aanval-programma's zijn geschreven tegen HTTP authenticatie, en niet tegen gewone POST authenticatie.

Acties:
  • 0 Henk 'm!

Verwijderd

Pulsher schreef op woensdag 23 november 2005 @ 20:35:

Sterker nog: Het is onveiliger! Veel brute force aanval-programma's zijn geschreven tegen HTTP authenticatie, en niet tegen gewone POST authenticatie.
Bij fatsoenlijke authenticatie (strong passwords) kunnen brute force aanvallen niet serieus genomen worden.

Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Verwijderd schreef op woensdag 23 november 2005 @ 20:38:
[...]

Bij fatsoenlijke authenticatie (strong passwords) kunnen brute force aanvallen niet serieus genomen worden.
Waarom strong authentication??? Gewoon max 1 inlog per seconde, goeie logging, dan wens ik je veel succes met je brute forcen, wauw 60 per minuut. Dan wens ik je al veel succes met een 3-letterig pwd (alleen kleine letters is al (26x26x26)/3600=4,9 uur ) dan moet je nog maar eens zien of je mijn 4-char pwd kan kraken ( hoofd letters / kleine letters / numeriek = (62x62x62)/3600 pogingen per minuut = 171 dagen. Veel plezier.

Acties:
  • 0 Henk 'm!

  • Rac-On
  • Registratie: November 2003
  • Niet online
Gomez12 schreef op woensdag 23 november 2005 @ 21:33:
[...]


Waarom strong authentication??? Gewoon max 1 inlog per seconde, goeie logging, dan wens ik je veel succes met je brute forcen, wauw 60 per minuut. Dan wens ik je al veel succes met een 3-letterig pwd (alleen kleine letters is al (26x26x26)/3600=4,9 uur ) dan moet je nog maar eens zien of je mijn 4-char pwd kan kraken ( hoofd letters / kleine letters / numeriek = (62x62x62)/3600 pogingen per minuut = 171 dagen. Veel plezier.
pas op, statistisch gezien zal je er minimaal 1 seconden en max de door jou uitgerekende tijdsduur erover doen. Gemiddeld gezien de helft van wat jij noemt dus voordat het pw is gehacked (uitgaande van 100% random passwords)

doet niet aan icons, usertitels of signatures


  • ripperke
  • Registratie: Augustus 2003
  • Laatst online: 19-08 16:06

ripperke

w00t!

trinite_t schreef op woensdag 23 november 2005 @ 19:39:

- Hoe zit het met het gebruik van de .htaccess file, moet je deze gebruiken? of kun je ook gaan werken met een database voor opslag van de gebruikersnaam (ik heb meerdere types accounts nodig, en waarschijnlijk nogal veel accounts)
Dit heb ik zelf ook al eens nodig gehad, en dus maar gecode, om je even op weg te helpen (de relevante) stukjes uit site van me (member update)

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
// make htaccess password
$ht_pass = crypt($passone,substr($passone,0,2));
// update user
$query = mysql_query("UPDATE members SET htpass = '$ht_pass' WHERE id = $id") or die(mysql_error());

// rewrite .passwd 
$query = mysql_query("SELECT * FROM members");      
$handle = fopen("/home/xxx/public_html/pass/.htpasswd","w+") or die("cant open password file");
while($row = mysql_fetch_array($query)) {
    fwrite($handle, "$row[voornaam]:$row[htpass]\n") or die("failed to write .passwd.");
}
fclose($handle);

If TCP/IP handshaking was less formal, perhaps SYN/ACK would be YO/WASSUP

Pagina: 1