Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2017
    Messaggi
    5

    Pagina di autenticazione in PHP

    Ciao a tutti, sto implementando (per scopi didattici) una web application. Ho un problema con la creazione di il sistema di login. Mi spiego meglio: in ASP.NET ho la possibilità di sfruttare l'autenticazione fornita dal framework .NET e, una volta effettuato il login, non devo più preoccuparmi in ogni pagina di verificare se l'utente è collegato o meno.
    In PHP ho visto diversi esempi, ma in ognuno viene sempre richiesto di includere un file con il codice che verifica se l'utente è autenticato o meno.
    C'è un modo migliore per gestire l'autenticazione in PHP che sia analogo ad ASP.NET oppure bisogna per forza verificare sempre in ogni pagina l'autenticazione?

    Grazie, Marco.

  2. #2
    DI solito per il login si usano in contemporanea sessioni e cookies, $_SESSION e $_COOKIE. Una volta verificate queste 2 variabili non resta fare nulla di particolare.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2017
    Messaggi
    5
    Si, ma in ogni pagina devo includere un controllo sul cookie o la session giusto? In asp.net questo, non so come (immagino con gli HttpHandlers) avviene automaticamente. Mi limito nel file .config ad indicare queli cartelle sono "bloccate" per l'accesso senza autenticazione ed il framework .Net fa tutto.
    In Apache "blocco" l'accesso alla directory tramite il file .htaccess, ma poi come faccio ad autorizzare l'accesso tramite PHP una volta autenticato? E comunque, come scrivevo sopra, devo in ogni pagina mettere il check dell'autenticazione?

    Grazie.

  4. #4
    No, i due sistemi (htaccess e php) NON sono compatibili e NON vanno usati insieme:

    O usi htaccess (cioè usi l'autenticazione di apache e nella sua documentazione trovi come definire i nomi utente epassword accettati)

    O usi le sessioni di PHP per gestire un login (essenzialmente, devi fare session_start() all'inizio di OGNI pagina, dopodichè avrai a disposizione un array $_SESSION all'interno del quale, nella pagina di login verificate le credenziali dirai $_SESSION["autenticato"]=TRUE, nelle altre pagine dirai if (!$_SESSION["autenticato"]): die(); endif; )
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2017
    Messaggi
    5
    Grazie mille per la risposta. Posso chiederti il motivo per il quale "i due sistemi (htaccess e php) NON sono compatibili e NON vanno usati insieme"?

    Grazie ancora, Marco.

  6. #6
    Perchè sostanzialmente agiscono a due livelli differenti e in due modi del tutto diversi:

    .htaccess agisce a livello del protocollo http, ovvero PRIMA che il codice php della pagina sia stato eseguito, mentre php agisce dopo, quando la connessione http è stata già stabilita.

    La differenza la vedi nel fatto che .htaccess non è in grado di accettare una username e password passate tramite una maschera post presente su una pagina, ma necessita di credenziali passate sulla url o tramite la apposita popup del browser, e se non ricordo male non gestisce nemmeno le sessioni (ogni pagina visitata vole di nuovo le credenziali) mentre php può fare molto di più, naturalmente.

    Diciamo che per farti capire, .htaccess è il cancellino di casa, php è la porta di casa: entrambi proteggono l'accesso alla tua casa, ma lo fanno in modo differente ed agiscono uno dopo l'altro, separatamente.

    Il che significa che i due sistemi non sono compatibili (le chiavi sono diverse e non possono mai essere uguali) e non vanno usati insieme (nel senso che non possono comunicare in nessuna maniera).

    Naturalmente, nessuno ti vieta di metterli entrambi, ma questo non rende davvero più sicuro il tutto, nel web, e quindi è meglio spendere del tempo a fare funzionare bene solo uno dei due, naturalmente quello di php che ti permette poi di fare molte altre cose, come gestire le sessioni e riconoscere personalmente i tuoi utenti.
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2017
    Messaggi
    5
    Perfetto, sei stato chiarissimo.
    Grazie mille.

  8. #8
    Non c'è di che!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

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.