15. juni 2004 - 23:59
Der er
16 kommentarer og 1 løsning
IP-loggin på mit login-system.
Hej.. Er der nogle der kan komme med nolge ider til at lave en slags ip-logging på dette login-system. Det skal helst være i en tekst-fil. <?php include ('config.php'); function validate_user($username, $password) { $username=myaddslash($username); $password=myaddslash($password); $res = mysql_query("SELECT 1 FROM sw_medlemmer WHERE username='$username' AND `password`='$password' LIMIT 1"); return( mysql_num_rows($res) == 1 ); } function myaddslash($s){ return get_magic_quotes_gpc()?$s:addslashes($s); } function authenticate_user() { $is_logged_in = false; if (isset($_SERVER['PHP_AUTH_USER'])) { $is_logged_in = validate_user($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']); } if (!$is_logged_in) { header('WWW-Authenticate: Basic realm="ShadowWeb Adminsystem"'); header('HTTP/1.0 401 Unauthorized'); echo "<br><b><center>INGEN ADGANG UDEN LOGIN !"; echo "<br><b><center><br> Du indtastede: <br><br>Bruger: "; echo $_SERVER['PHP_AUTH_USER']; echo "<br><br>Password: "; echo $_SERVER['PHP_AUTH_PW']; exit; } } authenticate_user(); ?>
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
du har ikke mysql eller hva? for det vilgøre det noget nemmere. og vil du både have at der er ipkontrol og bruger/kode ?
Du kan gøre det sådan: Tilføj kode i din -> config.php <?php function my_log_ip($filename) { $strIP = $_SERVER["REMOTE_ADDR"]; $fh = fopen ($filename, "a+"); fwrite($fh, $strIP."\r\n"); fclose($fh); } ?> Så kan du indtaste den her kode hvor du vil: <?php my_log_ip("log_login_2004.txt");?> eller my_log_ip("log_login_2004.txt");
dorgbar: hvis du ser i hans kode, vil du får svar på dit spørgsmål ;-)
sjh, det ser rigtigt godt ud, men jeg får en fejl: conncot redeclare my_log_up() in [sti]/config.php on line 7 linje 7: function my_log_ip($filename) {
har fixet det, jeg lagde bare funktionen i en ny fil, og inkludere den kun én gang. Mange tak for hjælpen.
eneste problem er at den oprette en ny fil hver gang den vil logge.
det lyder lidt underligt for a+ åbner netop for en fil med skrive og læse rettigheder. Og skrivning foretages i slutningen af filen. Filen oprettes kun, hvis den ikke eksisterer
ja, filen er chmod til 777, men den laver 2 filer: log_login_2004 og log_login_2004txt altså uden . Har også prøvet med et filnavn uden . men den oprette altig en til :S Men det lader til at den logger det rigtigt..Bare i 2 filer ?-)
jamen så har du lavet en fejl i kaldet af funktionen
16. juni 2004 - 08:59
#10
dvs. du angiver forskellige filnavne
16. juni 2004 - 09:00
#11
skriver sådan her: my_log_ip("log_login_2004.txt"); og det bliver kun gjordt én gang.
16. juni 2004 - 09:02
#12
dooh.. havde skrevet det 2 forskellige steder. ups. nu virker det rigtigt, men kun når jeg ikke bruger .txt
16. juni 2004 - 09:12
#13
ja, tænkte det nok :-)
16. juni 2004 - 09:13
#14
post al din kode her. Du må have en anden fejl så, hvis ikke det virker med .txt.
16. juni 2004 - 09:42
#15
[login.php] <?php include('config.php'); include('iplog.php'); my_log_ip("log_login_2004"); function validate_user($username, $password) { $username=myaddslash($username); $password=myaddslash($password); $res = mysql_query("SELECT 1 FROM sw_medlemmer WHERE username='$username' AND `password`='$password' LIMIT 1"); return( mysql_num_rows($res) == 1 ); } function myaddslash($s){ return get_magic_quotes_gpc()?$s:addslashes($s); } function authenticate_user() { $is_logged_in = false; if (isset($_SERVER['PHP_AUTH_USER'])) { $is_logged_in = validate_user($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']); } if (!$is_logged_in) { header('WWW-Authenticate: Basic realm="ShadowWeb Adminsystem"'); header('HTTP/1.0 401 Unauthorized'); echo "<br><b><center>INGEN ADGANG UDEN LOGIN !"; echo "<br><b><center><br> Du indtastede: <br><br>Bruger: "; echo $_SERVER['PHP_AUTH_USER']; echo "<br><br>Password: "; echo $_SERVER['PHP_AUTH_PW']; exit; } } authenticate_user(); ?> [iplog.php] <? function my_log_ip($filename) { $strIP = $_SERVER["REMOTE_ADDR"]; $fh = fopen ($filename, "a+"); fwrite($fh, $strIP."\r\n"); fclose($fh); }; ?>
16. juni 2004 - 17:38
#16
men never mind, det virker fint uden .txt, og jeg har også videre udviklet det.
16. juni 2004 - 18:37
#17
ok, fint nok
Vi tilbyder markedets bedste kurser inden for webudvikling