Proteggere un intero sito con .htaccess

motorpsycho

Nuovo Utente
24 Feb 2008
1
0
0
salve a tutti, questo è il mio primo post... spero finalmente di trovare le risposte che non sto riuscendo ad avere da altre parti (vabbè mi sa che sono le domande a essere difficili o semplicemente sceme heheh)

Premetto che non sono molto pratico di php e non ho familiarità con le sessioni. Anche se alcuni tutorial sembrano abbastanza chiari e stimolano l'approfondimento non sono riuscito a capire come fare ad utilizzarle per i miei scopi. Ma sto anticipando quanto dirò tra poche righe per cui cominicio dall'inizio...

In questi giorni sto realizzando un sito in cui devo permettere ad un admin di creare delle utenze (protette da password) che loggandosi dovranno avere accesso ad una pagina privata visibile solo da loro con tanto di download (e forse anche di immagini tipo banner personalizzati) ancora una volta personali e non scaricabili da altri.

Come sto procedendo? Ho fatto un pannello (protetto da .htaccess) in cui l'admin inserisce i vari dati dell'utente (compresa la password) i quali, passati alcuni controlli lato client (esistenza di un user con lo stesso nome o di un file omonimo -ora vi spiego perché- ed i solito controlli sui campi numerici tipo quello telefonico in cui non è consentito mettere altro dai numeri), dopo aver dato la conferma in una pagina di riepilogo, inserisce i dati in un database e contestualmente crea una directory con il nome dell'utente che ha scelto. All'interno di questa cartella viene creata in automatico una coppia di file .htaccess e .htpasswd (con la password inserita e criptata) oltre ad un index.php con la pagina che per ora è solo di benvenuto ma che conterrà dati e download per luser.

Per creare i due file di protezione nelle varie cartelle utenti los cript legge la parte invariabile dell'htaccess da un file che si trova nella cartella principale (e che per meglio intenderci chiamerò htaccess.txt) e .htpasswd lo crea prendendo username e password inseriti dall'admin. Vi dico subito che ho fatto dei test e funziona per lo meno sul server su cui l'ho provato (su due diversi server a dire il vero)

Ed eccomi finalmente alla prima domanda: per quanto macchinoso, è sicuro un sistema così strutturato?
Cambierebbe qualcosa se invece che far leggere da un file di testo (o altra estensione) faccessi leggere direttamente dal database i dati per i file .htaccess / .htpasswd?

Esiste un metodo per far fare logout agli utenti tramite link dalla pagina del profilo personale?

Come dicevo prima, purtroppo sono un (perenne) esordiente e non so se me la caverei con altri sistemi di protezione tipo le sessioni (salvo aiuti divini). Soprattutto non saprei come proteggere i file personali (un .htaccess in una cartella in questo senso dovrebbe essere una garanzia no?)

La password pensavo di non salvarla nel database (per risparmiare un po'... anche se molto po'....) ma volevo dare comunque la possibilità all'utente di cambiarla con una di suo gusto. Questo significherebbe che si scriverebbe un nuovo .htpasswd al posto di quello precedentemente creato dall'admin. Posso fare qualcosa per far accettare la nuova password solo se si inserisce anche quella vecchia? Avrei pensato ad una variabile temporanea all'ingresso dell'utente (non l'ho ancora implementato ma ho visto uno script che "allaccia" il .htaccess ad una casella di login sulla pagina principale ...oppure la inserisco nel db e controllo con quella?)

Lo so che come primo post non è dei più agevoli a dare una risposta (a prescindere dall'indiscutibile preparazione di tantissimi frequentatori!) ma spero nella vostra pazienza e nella vostra simpatia! Di nuovo ciao a tutti!
 

danilo666

Nuovo Utente
28 Feb 2008
2
0
0
Ciao,
secondo me una protezione tramite .htaccess non e' quello che cerchi.

Dovresti farlo in PHP.

Ora non e' che sia enorme, ma non ho tempo di mettermi qua a scrivertelo, scusa.

Hai mai preso in considerazione l'idea di usare un CMS gia' pronto? (Drupal, ecc.)

danilo