Avatar billede wisemind Nybegynder
18. november 2008 - 09:34 Der er 4 kommentarer og
1 løsning

Logging af .htpasswd logins

Hej Eksperter,

Jeg har brug for et script der logger hver gang nogen logger ind i en htaccess password beskyttet mappe.

Tanken bag er at holde øje med om brugere deler deres login detaljer med andre, hvilket ikke er tilladt.

Scriptet skal gemmme brugerens ip sammen med brugernavnet i en log. Hvis et brugernavn er logget ind med eks. 3 forskellige ip'er eller mere, skal den slette loginnet og sende en mail til admin om hvilket brugernavn det drejer sig om.

Håber der er nogen der ligger inde med en kode lignende det, eller kan kode det.

Har et script der skulle logge ip'erne fra htaccess login, men når jeg indtaster et korrekt password, afviser den det som om det
ikke virker.

Scriptet ser således ud:

<?php
define('LOGINS_LOG','/log-htpasswd.log');

if(isset($_ENV['REDIRECT_REMOTE_USER']) && !empty($_ENV['REDIRECT_REMOTE_USER'])){
$fp = fopen(LOGINS_LOG, 'a+');
fwrite($fp, $_ENV['REDIRECT_REMOTE_USER']);
fclose($fp);
}

ob_start();
header("HTTP/1.1 401 Authorization Required",1);
header("Status: 401 Authorization Required",1);
echo '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head><title>401 Authorization Required</title></head><body>
<h1>Authorization Required</h1>
<p>This server could not verify that you
are authorized to access the document
requested.  Either you supplied the wrong
credentials (e.g., bad password), or your
browser doesn\'t understand how to supply
the credentials required.</p>';
exit;
exit();
?>


På forhånd tak
Avatar billede wisemind Nybegynder
18. november 2008 - 09:36 #1
Scriptet behøver eventuelt ikke at slette loginnet, det kan admin gøre, hvis nødvendigt, bare det sender en mail om hvilket brugernavn det drejer sig om
Avatar billede jakobdo Ekspert
18. november 2008 - 10:11 #2
Det med 3 forskellige ip'er, hvad hvis jeg har et login til din side, og bruger det fra netcafeer ?
Eller jeg har en opkobling med dynamisk ip, så kan jeg have forskellige ip'er hver dag.
3 dage, så bliver jeg slettet.
Du må heller opfinde en bedre beskyttelse tror jeg. :o)
Avatar billede wisemind Nybegynder
18. november 2008 - 10:16 #3
lol ja ok, det kan godt være du har en pointe.

Hmm hvad med scriptet sender en mail, hvis en bruger er logget ind med det samme login fra 2 forskellige ip'er samtidig? Det burder jo ikke ske, medmindre brugeren deler det med en anden?
Avatar billede jakobdo Ekspert
18. november 2008 - 10:34 #4
Hvis du vil til at lave større tjek, burde du nok starte med at gemme info i en database.

Jeg formoder at: $_ENV['REDIRECT_REMOTE_USER'] er brugernavnet.
Du kan få ip fra: $_SERVER['REMOTE_ADDR']
Avatar billede wisemind Nybegynder
31. marts 2009 - 17:31 #5
nogen af livets spørgsmål finder man aldrig svar på
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester