Avatar billede technux Nybegynder
03. november 1999 - 13:09 Der er 1 løsning

htaccess på en enkelt fil

Kan det lade sig gøre at password beskytte en enkelt fil, der ligger i roden af ens webserver med .htaccess? Er det muligt at beskytte filen admin.php3 på samme måde som en fil i /admin/index.php3?
Avatar billede Slettet bruger
12. november 1999 - 11:51 #1
Ja! Prøv dette script:

<?
if( !($passwd = @fopen( "psw.txt", "r" )))

  Header( "HTTP/1.0 401 Unauthorized" );
  echo "Cannot open password file.";
  exit;
}

if( !$PHP_AUTH_USER )

  Header( "WWW-authenticate: basic realm=\"Area-51\"" );
  Header( "HTTP/1.0 401 Unauthorized" );
  echo "ACCESS DENIED";
  exit;
}


  // get contents of a file into a string
  $filename = "passwords";
  $fd = fopen( $filename, "r" );
  $contents = fread( $fd, filesize( $filename ) );
  fclose( $fd );

  $part = split( ":", $contents, 100);

  for($passi=0;$passi<100;$passi++){
    $passj = $passi+1;

    if( ($part[$passi] == '') && ($part[$passj] == '') ){
      $passi = 99;
    }

    if( $passi == 99){
      if( $part[$passi] != $PHP_AUTH_USER ) {
        Header( "HTTP/1.0 401 Unauthorized" );
        echo "ACCESS DENIED";
        exit;
      }

      @Header( "HTTP/1.0 401 Unauthorized" );
      echo "ACCESS DENIED";
      exit;
    }

    if( $part[$passj] == crypt( $PHP_AUTH_PW, $part[$passj] )) {
      break;
    }

    $passi++;
  }
}
?>

Lav en fil med navnet psw.txt i CHMOD den til 777.

Koden skal indsættes i admin.php3

Mvh.
Christian Thuner
// Find PHP-scripts at http://www.cht.dk/
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