Newsgroup: it.comp.www.php
Titolo: .htaccess e .htpasswd ... non riesco!

Premetto che chi mi fornisce lo spazio web non permette l'accesso via
telnet quindi mi sono dovuto creare i due file con il mio pc e poi li
ho caricati via ftp in modalità ascii.
Il mio spazio web ha una directory httpdocs in cui ci metto le pagine
del sito (index.htm ecc.) e la directory da proteggere è nominata
"privata".
ecco come ho proceduto:
1) mi sono creato con notepad il file .htaccess contenente questo:
AuthUserFile /httpdocs/privata/.htpasswd
AuthGroupFile /dev/null 
AuthName "Directory Protetta"
AuthType Basic 
<Limit GET> 
require valid-user 
</Limit> 
2) poi con l'utility di apache che ho sul mio pc ho creato il file
.htpasswd ... sono andato nel promt dei comandi ms-dos ed ho scritto
la seguente istruzione:
htpasswd -c c:\.htpasswd nomeutente
... e, dopo avermi chiesto l'inserimento della password, mi crea il
file e lo mette in c:
3) io carico via ftp in mod. ascii i due file all'interno della
directory "privata"
RISULTATO:
Quando provo ad eccedere alla directory protetta mi chiede nome utente
e password ... io digito ... ma richiede l'inserimento come se nome
utente e/o password fossero errati.
Suppongo che il problema sia il file .htpasswd ... qualche errore in
come lo creo o dove lo carico?

 come lo creo o dove lo carico?
crealo via telnet sul tuo sito. non so se gli .htpasswd per windows siano
compatibili con linux/unix.
-- 
signature: No such file or directory

 ha scritto nel messaggio
news:53b55b46.0309...@posting.google.com...


 AuthUserFile /httpdocs/privata/.htpasswd
Se è nella stessa cartella prova a mettere solo
AuthUserFile .htpasswd
Ludovico

 .htaccess
ho già provato diverse opzioni:
AuthUserFile /httpdocs/privata/.htpasswd
AuthUserFile /privata/.htpasswd
AuthUserFile .htpasswd
... e non riesco comunque ad accedere alla cartella protetta. Ed ho
provato anche a mettere .htpasswd in un'altra cartella.
qualcuno di voi ha già fatto senza telnet? nessuno ha capito il
problema?

 problema?
ultimo tentativo prova a creare un .htpasswd su una macchina linux. se ne
vuoi uno di prova te lo faccio io e te le spedisco via e-mail.


 problema?
Probabilmente il sistema usato sotto win per crittare è differente. Puoi
usare questo script direttamente onLine per creare il file delle password :
http://support.euronet.nl/~arnow/cgi-bin/htpasswd.cgi
e poi in htaccess metti:
AuthUserFile .htpasswd
Tech

come lo creo o dove lo carico?
Hai lanciato htpasswd senza parametri?
 -m  Force MD5 encryption of the password.
 -d  Force CRYPT encryption of the password (default).
On Windows [...] the '-m' flag is used by default.
Se l'host e' uno Unix, si aspetta un htpasswd creato con "-d", ma se lo
crei sotto Windows, e' come se tu avessi usato l'opzione "-m".
Leonardo
-- 
Time's angles, mages tell, conceal a place
incredible, beyond the mundane mind;
night-shrouded and between the seas of space
dread creatures drift in the ageless winds.

 crei sotto Windows, e' come se tu avessi usato l'opzione "-m".
io ho creato su linux htpasswd con l'opzione -m e funziona regolarmente.


ok ho risolto ... il problema stava nel percorso completo indicato nel
.htaccess per trovare il file .htpasswd.
Dato che, pur mettendo .htpasswd nella stessa directory di .htaccess
ed indicando "AuthUserFile .htpasswd" non funzionava, mi sono guardato
con phpinfo() l'indirizzo assoluto ed in effetti davanti a
/httdocs/privata/.htpasswd c'č dell'altro ... ho sistemato quindi il
percorso completo in .htaccess e tutto funzia !!
Tra l'altro avevo anche creato il file .htpasswd sotto linux per poter
usare l'opzione:
-d  Force CRYPT encryption (che altrimenti non puņ essere utilizzata
sotto win)
... ma non so se questo abbia influito ... sicuramente la correzione
fondamentale č stata quella sul percorso.
Quindi ... GRAZIE A TUTTI PER I PREZIOSI CONSIGLI !!
Riccardo

io ho creato su linux htpasswd con l'opzione -m e funziona regolarmente.
Si', poi ho controllato in che modo Apache controlla le password (il file
src/ap/ap_checkpass.c, chi fosse interessato). E non ha importanza in che
modo viene cifrata la password - a differenza di quel che dicevo nel post
piu' indietro nel thread - perche' Apache controlla con tutti i sistemi:
	- MD5	(identificate da '$apr1$')
	- SHA1	(identificate da '{SHA}')
	- crypt (tutto il resto)
L'incompatibilita' c'e' solo con il plain text, che sotto Linux non viene
supportato (htpasswd lo crea, avvertendo; ma Apache non lo riconosce).
