[Php-it] Errore con .htpasswd

Alessandro Marinuzzi alecos_net at libero.it
Wed Sep 5 14:50:40 CEST 2007


Cristiano Verondini ha scritto:
> 1euro al giorno e questo spazio e' tuo. info a ziobudda.net
> ___________FINE_____SPONSOR_______________________________
>
>
>   
>> Ho creato uno script che crea i file .htaccess e .htpasswd e mentre su
>> Aruba (linux) Apache 2.0.59 mi funzia benissimo e mi accesso alla
>> cartella dopo aver verificato l'user e la pass... in locale su windows
>> le cose sono diverse.... in locale sulla macchina di sviluppo ho
>> sempre
>> Apache 2.0.59 versione windows e non accetta l'user e pass inserire e
>> di
>> conseguenza mi nega l'accesso alla cartella... perchè su aruba va ed
>> in
>> locale non va?
>>     
>
>     Non è che Win si aspetta le righe del file terminate da CR+LF?
>
>   
Ecco il file modificato ma anche così non funge ;-(

<?php
if (($_POST['username']) && ($_POST['password'])) {
  $username = $_POST['username'];
  $password = $_POST['password'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/strict.dtd">
<html xml:lang="it" xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
<title>Questo script genera i file .htaccess e .htpasswd</title>
</head>
<body>
<?php
if ((substr($_SERVER['DOCUMENT_ROOT'],-1,1) == "/") && (substr($_SERVER['PHP_SELF'],0,1) =="/")) {
  $path = $_SERVER['DOCUMENT_ROOT'] . substr(dirname($_SERVER['PHP_SELF']),1) . "/.htpasswd";
} else {
  $path = $_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']) . "/.htpasswd";}
  if (strtoupper(substr(PHP_OS,0,3) == 'WIN')) {
    $eol = "\r\n";
  } elseif (strtoupper(substr(PHP_OS,0,3) == 'MAC')) {
    $eol = "\r";
  } else {
    $eol = "\n";
  }
  $tmp1 = fopen(".htaccess", "w+");
  $tmp2 .= "AuthType Basic" . $eol;
  $tmp2 .= "AuthName \"Area Protetta\"" . $eol;
  $tmp2 .= "AuthUserFile $path" . $eol;
  $tmp2 .= "Require valid-user" . $eol;
  fwrite($tmp1, $tmp2);
  fclose($tmp1);
  unset($tmp1);
  unset($tmp2);
  $tmp1 = fopen(".htpasswd", "w+");
  $tmp2 = "$username:" . crypt($password,CRYPT_STD_DES) . $eol;
  fwrite($tmp1, $tmp2);
  fclose($tmp1);
  unset($tmp1);
  unset($tmp2);
  die ("<h2>.htaccess e .htpasswd generati correttamente!</h2>\n</body>\n</html>");
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/strict.dtd">
<html xml:lang="it" xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
<title>Questo script genera i file .htaccess e .htpasswd</title>
</head>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<p><label for="username">Username</label>: <input type="text" id="username" name="username" /></p>
<p><label for="password">Password</label>: <input type="text" id="password" name="password" /></p>
<p><input type="submit" value="Genera i file" /></p>
</form>
</body>
</html>

Qualche altro suggerimento?

-- 
Alessandro Marinuzzi
--------------------
http://www.alecos.it
--------------------

-------------- parte successiva --------------
Un allegato HTML ? stato rimosso...
URL: http://lists.ziobudda.net/pipermail/php-it/attachments/20070905/c05ea065/attachment-0001.htm 


More information about the Php-it mailing list