Avatar billede adela Nybegynder
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.

Avatar billede henrik242 Nybegynder
13. juni 2001 - 21:21 #1
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;
      }
    }
}
?>
Avatar billede adela Nybegynder
13. juni 2001 - 21:43 #2
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 :-/
Avatar billede henrik242 Nybegynder
13. juni 2001 - 21:49 #3
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 ;-)
Avatar billede adela Nybegynder
13. juni 2001 - 22:06 #4
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.....
Avatar billede adela Nybegynder
13. juni 2001 - 22:07 #5
$DOCUMENT_ROOT. er det en PHP-kommando, hvormed PHP kigger et bestmt sted hen ???
(et lille ekstraspørgsmål)
Avatar billede henrik242 Nybegynder
13. juni 2001 - 22:25 #6
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
Avatar billede henrik242 Nybegynder
13. juni 2001 - 22:27 #7
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 :-)
Avatar billede henrik242 Nybegynder
14. juni 2001 - 00:36 #8
Har du fået det til at virke..?
Avatar billede adela Nybegynder
14. juni 2001 - 17:36 #9
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 :-/
Avatar billede henrik242 Nybegynder
14. juni 2001 - 19:31 #10
Hvad går galt?
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