Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 40
  1. #1

    [wannabepillol] Autenticazione sicura

    Ciao, dato che un po' di mesi fa avevo iniziato un sito che richiedeva un'area sicura, mi ero documentato un po' in giro... tra i vari script che ho trovato, ce n'era uno qui freephp.html.it seriamente bacato...

    dovendo riscrivere interamente il sistema di login al sito ho pensato a una cosa estremamente semplice: "cosa devo fare?"

    la risposta che ho avuto era semplice: "impedire a qualcuno di vedere delle cartelle che non deve vedere, e autenticare qualcuno in una sessione"

    ecco quindi che mi è venuto in mente .htaccess, che viene gestito perfettamente da Apache.

    il problema a questo punto era: "Come aggiornare il file .htpasswd dal php?"

    Oppure "Si può dire ad apache di fare un autenticazione attraverso Mysql?"

    Chiaramente si può fare tutto quanto, bisogna solo scegliere il metodo migliore...

    I metodo, creare un file .htaccess nella directory da proteggere, più o meno così


    Codice PHP:
    AuthUserFile  /home/sito/.htpasswd
    AuthGroupFile 
    /dev/null 
    AuthName 
    "Directory Protetta. Powered by xgrafica.it" 
    AuthType Basic 

    <Limit GET
    require 
    valid-user
    </Limit
    eseguire una -System- dal php del tipo:

    Codice PHP:
    system('htpasswd -b '.$DOCUMENT_ROOT.'.htpasswd '.$usernamewebx.' '.$passwordweb.''); 
    (aggiungere -c se il file non esiste ancora)
    controllare che apache controlli i file .htaccess (httpd.conf => AllowOverride All )

    il gioco è fatto!

    [come si aggiorna l'utente?]

    stessa system, sarà linux ad accorgersi che il nome esiste già e quindi aggiornerà la password

    Bene, adesso che il tizio è entrato come faccio a sapere suo username/id/email etc?
    semplice
    Codice PHP:
    $usernameweb $_SERVER['PHP_AUTH_USER']; 
    in un file di inclusione per TUTTI i file da proteggere, e poi si mette $usernameweb dentro a una query

    WOW IT WORX!!!

    II metodo
    installare sul server questo modulo mod_auth_mysql

    che in pratica controlla password e username invece che da .htpasswd, attraverso mysql!

    inserire ora il file .htaccess nella root delle cartelle da proteggere
    esempio:
    Codice PHP:
    AuthName        "Login Required for this area. [email]info@miohost.it[/email]"
    AuthType        Basic
    AuthGroupFile        
    /dev/null
    AuthMySQLHost        miohost
    AuthMySQLUser        user
    AuthMySQLDB        database_autorizzati
    AuthMySQLUserTable    user_info
    AuthMySQLScrambledPasswords On
    require valid-user
    ErrorDocument 404    
    /404.php 
    mettere una query del tipo sopraesposta,
    includere per bene
    controllare le conf di apache e...

    WOW IT WORX

    Ah ecco, dimenticavo i trucchi!!!

    1) non riesco a uploadare i file che iniziano per .*
    poco male, rinominalo in a.htaccess, e poi fai questa simpatica system
    Codice PHP:
    system('mv '.$DOCUMENT_ROOT.'/a.htaccess '.$DOCUMENT_ROOT.'/.htaccess'
    e le limitazioni dell'hoster saltano

    2) non riesco a scrivere nella cartella, poco male, esegui una system con il comando chmod prima e dopo il comando htpasswd!!!

    3) l'hoster non mi installa il modulo
    male, prova a usare l'altro.

    4) uso l'altro ma apache non mi chiede di autenticarmi, e l'hoster non mi cambia httpd.conf
    problemone. o lo convinci, oppure usi una system e speri in bene, a buon intenditore...


    Pregi:
    *estrema facilità nella gestione dei file da proteggere

    *estrema facilità in inserimento/aggiornamento utenti

    *ottima sicurezza (a patto che apache sia conf bene)

    Difetti:
    non me ne vengono in mente, ma qualcuno mi ha parlato di forte carico del server. io non ci credo.



    One bug, one crash

  2. #2
    Utente bannato
    Registrato dal
    Aug 2001
    Messaggi
    696
    La aggiungo:metallica

  3. #3
    bene!!!
    One bug, one crash

  4. #4
    :metallica :metallica :metallica

    Da studiare proprio.
    Grazie Sathia.
    GNU/Linux is the answer...now, what was your question?

  5. #5
    ho aggiunti i trucchi in fondo,
    speriamo che servano!!!

    piccola nota. chi sta usando lo script:

    http://freephp.html.it/script/view_script.asp?id=83

    sappia che ha/potrebbe avere seri problemi

    se qualcuno sa l'inizio di una password, e questa e > agli 8 caratteri, viene autenticato!!!
    One bug, one crash

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    20

    Re: [wannabepillol] Autenticazione sicura

    Originariamente inviato da sathia
    eseguire una -System- dal php del tipo:

    Codice PHP:
    system('htpasswd -b '.$DOCUMENT_ROOT.'.htpasswd '.$usernamewebx.' '.$passwordweb.''); 
    (aggiungere -c se il file non esiste ancora)
    controllare che apache controlli i file .htaccess (httpd.conf => AllowOverride All )
    vorrei sapere questo punto come si fa... devo creare un file php?

    grazie
    Ciao!

  7. #7
    certo, questa è una funzione PHP che esegue una funzione linux!

    puoi metterla all'interno di qualsiasi pagina. l'importante è che il server non faccia runnare il php in safe_mode (x' no lascia accedere a queste e altre funzioni speciali).

    l'importante è avere i permessi, se non sei su linux credo che avrai qlc problema, ma penso che sia risolvibile cercando il file htpasswd.exe buh, non lo so non ho mai provato!
    One bug, one crash

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    20
    grazie della risposta e della pillola

    si può provare questa cosa con easyphp e quindi in locale?
    Ciao!

  9. #9
    come dicevo non ho mai utilizzato questo sistema con windows, quindi potrebbe non funzionare. in ogni modo prova a modificare così:

    Codice PHP:
    system('c:\\ProgrammiEasyphp\\apache\\bin\\htpasswd.exe -b '.$DOCUMENT_ROOT.'\\.htpasswd '.$usernamewebx.' '.$passwordweb.''); 
    ammesso che c:\ProgrammiEasyphp\apache\bin\ sia il path giusto del tuo file htpasswd.exe

    e se non sai dove si trova, fai cerca
    One bug, one crash

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    20
    scusa ma nn capisco molto alcune cose della pillola..
    xke ne hai scritti 2 file .htaccess? :master:

    il 1 era solo un esempio?

    thx
    Ciao!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.