Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746

    .htaccess + .htpasswd = non funziona

    Sto cercando di proteggere l'accesso ad un server con .htaccess e .htpasswd

    nella directory www ho creato il file .htpasswd con dentro utenteassword_criptata

    poi sempre in www ho creato il file .htaccess con
    codice:
    AuthPAM_Enabled off
    AuthUserFile /var/www/.htpasswd
    AuthGroupFile /dev/null
    AuthName “Area Protetta”
    AuthType Basic
    require valid-user
    ho riavviato apache ma niente, all'accesso con un browser non viene richiesta nessuna autenticazione

    cosa c'è che non va ?
    Errare humanum est, perseverare ovest

  2. #2
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    Ho provato con un'altra directory: area_protetta

    codice:
    AuthUserFile /var/www/area_protetta/.htpasswd
    AuthGroupFile /dev/null
    AuthName “Area Protetta”
    AuthType Basic
    require valid-user
    poi ho aggiunto in /etc/apache2/conf.d un file che ho chiamato area_protetta.conf
    con all'interno questo
    codice:
    <Directory "/var/www/area_protetta">
     AllowOverride All
    </Directory>
    ...riavviato apache2 et voilà, l'autenticazione viene richiesta.


    Purtroppo ciò non avviene quando rifaccio il tutto per la radice del server, ossia la directory www.

    Forse l'autenticazione con .htaccess ed .htpasswd è prevista solo per le sottodirectory di www e non per essa ?
    Errare humanum est, perseverare ovest

  3. #3
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    Qual'è l'so? linux ok, ma quale?

    comunque devi abilitare la possibilità di usare quella direttiva anche per la root, quindi devi individuare il file che si occupa della configurazione e modificare/aggiungere l' AllowOverride. Se è ubuntu, il file è /etc/apache2/default, per altri SO è direttamente in http.conf

  4. #4
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    Grazie per l'intervento

    E' una Mint 9 Isadora, comunque derivata Debian

    si, le configurazioni sono in /etc/apache2

    come accennavo precedentemente in httpd.conf ho inserito
    codice:
    <Directory "/var/www">
     AllowOverride All
    </Directory>
    in /var/www c'è il file .htpasswd

    Apache è stato riavviato

    ho anche riavviato il browser

    ma niente
    Errare humanum est, perseverare ovest

  5. #5
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    Ho risolto ancora meglio, direttamente in httpd.conf
    codice:
    <Directory "/var/www">
      Options None
      AllowOverride AuthConfig
      AuthName "Area Privata"
      AuthGroupFile /dev/null
      AuthType Basic
      AuthUserFile /var/www/.htpasswd
      require valid-user
    </Directory>
    Comunque il problema di prima credo che fosse il tipo di virgolette sbagliate usate per indicare la Directory "/var/www"

    Errare humanum est, perseverare ovest

  6. #6
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    Rileggendo la mia precedente risposta ho scritto una cavolata

    il file di configurazione del "localhost", quello di default che ha come docrot /var/www, nei debian like è /etc/apache2/sites-available/default . All'interno trovi le configurazioni per il virtualhost di default.
    Per abitudine preferisco non sporcare http.conf/apache2.conf, le impostazioni son tutte nei file dei virtualhost, lo trovo più manutenibile.
    Inoltre, a seconda della posizione in cui vai a inserire le direttive nell'http.conf, queste potrebbero venir sovrascritte dalle impostazioni presenti nel/nei virtualhost

    Se fai da file di configurazione e non da htaccess, questa è inutile:
    codice:
    AllowOverride AuthConfig

  7. #7
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    Originariamente inviato da Enoa
    Rileggendo la mia precedente risposta ho scritto una cavolata
    No problem, anzi, molto bene

    Allora ho spostato le direttive in /etc/apache2/sites-available aggiungendo l'autenticazione nella già presente "Directory /var/www"

    codice:
    <Directory /var/www/>
    
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride none
                    Order allow,deny
                    allow from all
    
      AuthName "Area Privata"
      AuthGroupFile /dev/null
      AuthType Basic
      AuthUserFile /etc/apache2/sites-available/.htpasswd
      require valid-user
    
    </Directory>
    C'è una cosa che mi lascia perplesso, ora la richiesta di autenticazione funziona ma ho notato un problema con la password ossia che se ad esempio è: "carlo2002", accetta anche "carlo2002ciao". Qualsiasi combinazione di caratteri che aggiungo dopo la password viene accettata per l'autenticazione.

    E' normale questo comportamento?
    Errare humanum est, perseverare ovest

  8. #8
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    Come lo crei il file htpasswd?
    Fai questa prova, loggati usando carlo200 come password. Se entra, la password è stata cryptata con crypt che prende i primi 8 caratteri (strano però, md5 dovrebbe essere di dafault...):
    http://httpd.apache.org/docs/2.4/mis...cryptions.html
    http://httpd.apache.org/docs/current.../htpasswd.html
    When using the crypt() algorithm, note that only the first 8 characters of the password are used to form the password. If the supplied password is longer, the extra characters will be silently discarded.
    Ricrea il file usando il parametro -m (md5) o -s (sha)
    codice:
    htpasswd -c -m /etc/apache2/sites-available/.htpasswd carlo2002

  9. #9
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    Ok, ci siamo

    Ho letto la questione dell'md5 di default, strano, invece ha usato proprio crypt.

    Quindi tutto risolto.

    Ti ringrazio molto ho imparato molte cose


    Errare humanum est, perseverare ovest

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.