Avatar billede a330 Nybegynder
05. oktober 2007 - 13:45 Der er 6 kommentarer og
1 løsning

htpasswd og htaccess med redirect

Hej jeg vil gerne password protecte hele min locale apache www bibliotek, som ligger på min lokale server herhjemme. Det er en WAMP5 server, som jeg skulle kunne lægge "online" indimellem. Samtidig vil jeg gerne kunne blive redirected, til et underbibliotek, afhængig af hvilken brugernavn og password jeg indtaster.

Hvordan gør jeg det nemmest
Avatar billede showsource Seniormester
05. oktober 2007 - 17:31 #1
ehh, om du kan lave en redirect med .htaccess alt efter hvilken bruger som logger ind, er jeg ikke lige klar over.
Umiddelbart ville jeg også selv bruge er php script til at styre hvilke dir som bruger har adgang til.
Men anyway,

For at bruge passwordbeskyttelse, laver du i din httpd.conf flg:

<Directory "D:/www/htdocs">

    AuthType Basic
    AuthName "Login"
    AuthUserFile D:/www/.htpass
    Require valid-user

    Options Indexes MultiViews
    AllowOverride AuthConfig
    Order allow,deny
    Allow from all

</Directory>

"D:/www/htdocs" skal jo så ændres så det stemmer overens med din server. ( dit htdocs dir )
Ligeledes "D:/www/.htpass" som er den fil hvor brugernavne og passwords ligger
Avatar billede showsource Seniormester
05. oktober 2007 - 17:33 #2
Du kan så bruge en phpfil til at lave redirect/oprette dir og .htaccess
.htaccess for at hindre andre brugere i at komme i andres dir
Avatar billede showsource Seniormester
05. oktober 2007 - 17:38 #3
Filen ".htpass" er navngivet med .ht i starten, fordi Apache pr. default hindrer visning af filer som starter på den måde.

Du laver filen fra en command prompt, "start->kør->Skriv "cmd" og tryk enter"

Her skriver du:
( stien til htpasswd.exe skal jo stemme med din comp )

C:\apache\bin\htpasswd -c D:\www\.htpass serveradmin

Du bliver nu bedt om at indtaste password ( to gange ) for brugeren "serveradmin"

For at tilføje nye brugere, skriver du det samme, men UDEN -c da filen elelrs vil blive overskrevet
Avatar billede a330 Nybegynder
05. oktober 2007 - 17:41 #4
kanon tak for det..

Læg et svar
Avatar billede showsource Seniormester
05. oktober 2007 - 18:19 #5
Bryggede lige en index.php sammen til dig.
Men ved jo ikke hvordan du har tænkt dig at bygge det op?


<?php
if(isset($_SERVER["REMOTE_USER"])) {

$ht_string = "
AuthType Basic
AuthName \"Login\"
AuthUserFile D:/www/phpbegynder/.htpass
Require user serveradmin ". $_SERVER["REMOTE_USER"];

$fil = ".htaccess";

function mk_ht($fil,$str) {

$fp = fopen($_SERVER["REMOTE_USER"] ."/". $fil, "w");

    if($fp) {
    fputs($fp, $str);
    fclose($fp);
    }else{
    echo"Ups, fejl i oprettelse af htaccess fil!";
    exit;
    }

}


    if(is_dir($_SERVER["REMOTE_USER"])) {

        if(!is_file($_SERVER["REMOTE_USER"] ."/". $fil)) {
        mk_ht($fil,$ht_string);
        }

    header("Location:". $_SERVER["REMOTE_USER"] ."/");
    exit;

    }else{

        if(mkdir($_SERVER["REMOTE_USER"], 0755)) {

        mk_ht($fil,$ht_string);

        header("Location:". $_SERVER["REMOTE_USER"] ."/");
        exit;

        }else{

        echo"Ups, kunne ikke lave brugerdir!";

        }

    }
exit;
}

?>
Avatar billede a330 Nybegynder
05. oktober 2007 - 18:26 #6
Hej

Har lavet en blanding med php og htaccess

Tak for hjælpen
Avatar billede showsource Seniormester
05. oktober 2007 - 18:35 #7
selv tak :O)
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
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

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