30. juni 2004 - 00:32Der er
3 kommentarer og 2 løsninger
Sende værdier til phpauthuser via en form
Hey
Jeg har lavet et login-system via. PHP_AUTH_USER men for at passe det ind i et nyt design, vil jeg gerne sende værdier til det via. en form, istedet for den sædvaneligt popup.
Og er det enig sikkert nok at bruge PHP_AUTH_USER ?
[scriptet]
<?php
include('config.php');
function validate_user($username, $password) { $username=myaddslash($username); $password=myaddslash($password); $res = mysql_query("SELECT * FROM brugere 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="Webers loginsystem"'); 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(); header("Location: index.php");
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
det kan du ikke. PHP_AUTH_USER læser blot en værdi, som serveren har sat (apache som regel). det er serveren selv, der laver selve autentificeringen, og det sker på protokolniveau. apaches htaccess er somen sikker nok. det kommer lidt an på hvordan du har konfigureret din server. hvis det er et spørgsmål om liv og død så skal du nok overveje at køre kommunikationen over SSL.
jeps, men værdierne er sat af serveren - ikke php-parseren.
hvis du vil have en form til at sende brugernavn/password kan du ikke bruge PHP_AUTH_* så skal du istedet lave noget med $_GET / $_POST og gemme det i $_SESSION
sessions er i sig selv ikke specielt usikre. det har nok snarere været en anden del af dit script, der har været "svagt". www-authenticate fungerer såddanset på samme måde som sessions.
grunden til, at du ikke kan sende en form, når du anvender www-authenticate, er at det er et header-kald. normalt sender du html til browseren, men ved at bruge header, sender du så at sige en besked til browseren om at "denne side kan kræver at du giver mig et gyldigt brugernavn + password". browseren opfatter dette, og popper så en loginbox op, hvor den beder brugeren om at skrive sit navn + password. Eftersom det er browseren selv, der laver selve boksen, har du som programmør ingen kontrol over hvordan den ser ud.
Synes godt om
Ny brugerNybegynder
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.