[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