13. juni 2001 - 21:09
Der er
10 kommentarer
PHP_AUTH_USER ???
Jeg har fundet dette smarte ord i flere artikler, samt eksempler, men det vil bare ikke virke :-/ Hvis jeg har en login side, og nogle dybereliggende directories, som kun \"valid\" brugere må anvende, hvad gør jeg så ? Oplysninger om brugernavn og password ligger i en MySQL database, og det er her fra login skal finde svar.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
dette lægger du i enfil - f.ex. pwd.php og så skal den \"require\"´es på alle de sider der er forbeheldt de gyldige brugere... simpelt hen :-) <?php $goAgain = 1; while ($goAgain) { if(!isset($PHP_AUTH_USER)) { Header(\"WWW-Authenticate: Basic realm=\\\"whatever\\\"\"); Header(\"HTTP/1.0 401 Unauthorized\"); echo \"Acces denied...\"; $goAgain = 0; exit; } else { include $DOCUMENT_ROOT.\"/connect.inc\"; $rownumber = mysql_query (\"select * from validusers where username = \'$PHP_AUTH_USER\' \"); $row = mysql_fetch_array($rownumber); if ($row){ if ($PHP_AUTH_USER != \"\" && $PHP_AUTH_USER == $row[username] && $PHP_AUTH_PW == $row[password]){ //Hvis pass er rigtigt... # unset($PHP_AUTH_USER); $goAgain=0; # exit; } else { unset($PHP_AUTH_USER); $goAgain=1; } } else { unset($PHP_AUTH_USER); $goAgain=1; } } } ?>
Her er lige nogle spørgsmål, da jeg er lidt en newbie....... 1. \"include $DOCUMENT_ROOT.\"/connect.inc\";\".....Skal jeg have denne fil, og i givet fald, skal jeg editere i den på nogen måde? 2. Hvis dette virker som påtænkt, så er meningen, at den laver error, hvis den ikke har valideret mod DB\'en ikke? 3. \"Header(\"WWW-Authenticate: Basic realm=\\\"whatever\\\"\");\" Hvad bør jeg skrive her (er det afgørende på nogen måde?) 4. requiren på mine html-sider, skriver jeg ikke dem således: \"<? include (\"../pwd.php\"); ?>\" ? 5. Hvor bør jeg lægge filen (er der noget sikkerhed i dette ?) Jeg er ked af disse mulige newbiespørgsmål :-/
1.: Ja, denne fil forbinder dig til databasen - du laver den selv med noget mysql_connect osv. 2.: Hvis brugeren ikke findes i DB eller hvis der mere end et par gange angives et forkert PW, får man \"access denied...\" på skærmen. 3.: (nej), du skriver blot hvad du synes - f.ex. navnet på din hjemmeside. 4.: nej - benyt: <?php require(\"../pwd.php\"); ?> da du derved sikrer at siden \'dør\' hvis brugeren ikke kan valideres. 5.: Gør næppe nogen større forskel - men læg den gerne uden for webscope, hvis du kan - ellers: Don´t worry ;-) der er ingen grund til at være ked af at spørge -det har vi alle gjort på et eller andet tidspunkt ;-)
OK, så tror jeg er lige ved at være der. Men mht. nr. 1: \" include $DOCUMENT_ROOT.\"/connect.inc\"; \" - mener du, at jeg skal skrive mine my_sql - connect-sætninger på PHP-måde, og kalde filen: \"connect.inc\" ? Jeg har lige kigget på nogle .inc-filer, hvad er formålet med at kalde dem .inc - ikke at du behøver at skrive et foredrag for mig, men det er mere så jeg overordnet kan sætte dem ind i en PHP-sammenhæng.....
$DOCUMENT_ROOT. er det en PHP-kommando, hvormed PHP kigger et bestmt sted hen ??? (et lille ekstraspørgsmål)
Til det første: ja, lige netop: <? $mysql_hostname = \'navnetpåserveren\'; $mysql_username = \'ditbrugernavn\'; $mysql_password = \'ditpassword\'; $mysql_database = \'dindatabase\'; $conn = @mysql_connect($mysql_hostname, $mysql_username, $mysql_password); @mysql_select_db ($mysql_database, $conn)); ?> $DOCUMENT_ROOT er rodbiblioteket for web-serveren - det er en let måde at referere \'absolut\' til forskellige filer der skal includes eller requires /henrik
Tilføjelse... når du kalder connect-filen for connect.inc er det fordi de fleste webservere holder filer med denne extension ekstra tæt ind til kroppen - så det er altså af sikkerhedshensyn :-)
Har du fået det til at virke..?
Nej - det virker sku ikke rigtigt, jeg ville ikke rigtigt skrive mere, jeg har gjort som \"instruktionsvejledningen\" siger, men det spiller fan\'me ikke - alt er ellers som det bør være - jeg forstår det ikke rigtigt :-/
14. juni 2001 - 19:31
#10
Hvad går galt?
Vi tilbyder markedets bedste kurser inden for webudvikling