Avatar billede andersthingholm Nybegynder
12. januar 2007 - 17:16 Der er 13 kommentarer og
1 løsning

Log ind via HTTP authentication

Hej,

Jeg har nogle filer liggende på et webhotel, som er beskyttes en HTTP authentication.

Er det muligt at logge ind med PHP og hente filerne - brugernavn og adgangskode kendes selvfølgelig.

Jeg har ikke adgang til at rette på webhotellet eller filerne derpå.
Avatar billede coderdk Praktikant
12. januar 2007 - 18:17 #1
Ikke lige testet, men:

    $url = "http://ditsite.dk/folder/sikker_fil.doc";
    $username = "bruger";
    $password = "kode";
   
    $result = "";
    if ( preg_match( "!http://(.*?)(/.*)$!i", $url, $m ) )
    {
        if ( $fp = fsockopen( $m[1], 80, $en, $es, 5 ) )
        {
            $req = "GET $m[2] HTTP/1.1\r\nHost: $m[1]\r\nUser-Agent: "
                ."Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n"
                ."Authorization: Basic " . base64_encode("$username:$password")
                ."\r\nConnection: Close\r\n\r\n";
            fwrite( $fp, $req );
            while ( !feof( $fp ) )
            {
                $res .= fread( $fp, 1024 );
            }
            fclose( $fp );
            preg_match( "/^.*?\r\n\r\n(.*)$/s", $res, $m );
            $result = $m[1];
        }
        else
        {
            die( "Failed to connect to $m[1]! $en: $es" );
        }
    }
    else
    {
        die( "$url not a valid URL?" );
    }
   
    // filen er nu i $result
Avatar billede showsource Seniormester
12. januar 2007 - 18:40 #2
Hvis PHP kører i safemode, vil jeg tro du ikke har en chance via et phpscript. ???
Avatar billede coderdk Praktikant
12. januar 2007 - 19:07 #3
fsockopen er ikke berørt af safe mode...
Avatar billede showsource Seniormester
12. januar 2007 - 19:08 #4
?
Kan du vise mig et ex.?
Avatar billede showsource Seniormester
12. januar 2007 - 19:08 #5
Nej, prøver lige selv på min comp!
Avatar billede coderdk Praktikant
12. januar 2007 - 19:09 #6
Uhm, på hvad? Er min kode ikke eksempel nok? :-D
Avatar billede coderdk Praktikant
12. januar 2007 - 19:09 #7
:D
Avatar billede showsource Seniormester
12. januar 2007 - 19:18 #8
Din kode skal være:

<?php

$url = "http://htaccess.localhost/password/coder.php"; // sti skal ændres!!!
    $username = "sukos";
    $password = "sukos";
 
    $result = "";
    if ( preg_match( "!http://(.*?)(/.*)$!i", $url, $m ) )
    {
        if ( $fp = fsockopen( $m[1], 80, $en, $es, 5 ) )
        {
            $req = "GET $m[2] HTTP/1.1\r\nHost: $m[1]\r\nUser-Agent: "
                ."Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n"
                ."Authorization: Basic " . base64_encode("$username:$password")
                ."\r\nConnection: Close\r\n\r\n";
            fwrite( $fp, $req );
            while ( !feof( $fp ) )
            {
                $result .= fread( $fp, 1024 );
            }
            fclose( $fp );
            preg_match( "/^.*?\r\n\r\n(.*)$/s", $result, $m );
            $result = $m[1];
        }
        else
        {
            die( "Failed to connect to $m[1]! $en: $es" );
        }
    }
    else
    {
        die( "$url not a valid URL?" );
    }
   

?>

Men jeg får bare en blank side med flg. i coder.php

<?php

echo"coder.php";

?>
Men jeg er nu heller ikke3 særlig meget med på dit script! :O)
Avatar billede coderdk Praktikant
12. januar 2007 - 19:22 #9
Du skal gøre noget med $result, f.eks. echo'e den ud ;)
Avatar billede showsource Seniormester
12. januar 2007 - 19:24 #10
:O)))))))))

Men får så
9 coder.php 0

anyway, safemode havde ingen betydning! :O)
Avatar billede coderdk Praktikant
12. januar 2007 - 19:30 #11
hehe yeah :) hmm men de underlige tal - det har jeg haft før - jeg er bare for træt til lige at komme i tanker om hvorfor de er der :P
Avatar billede andersthingholm Nybegynder
12. januar 2007 - 21:20 #12
Tak for jeres input - jeg vil afprøve det på mandag.
Avatar billede coderdk Praktikant
12. januar 2007 - 21:35 #13
Du får lige et svar ;P
Avatar billede andersthingholm Nybegynder
12. januar 2007 - 22:00 #14
Jeg kunne ikke vente til mandag :-)

Det virker - 1000 tak.
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

IT-JOB