Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Cerebro
    Registrato dal
    Jan 2005
    Messaggi
    193

    sicurezza: login, cookies, session e https

    ( ho scritto un po', ma non richiedo codice PHP, quindi tranquilli )

    Mi sto preoccupando di mettere in sicurezza un pannello di amministrazione e sto vagliando tutte le possibilità. In particolare se possibile abilitare "ricorda sul computer" e "https".

    Attualmente non ho necessitato di una sicurezza estrema e non avevo abilitato l'https.

    [ senza https: ]

    Nella form di login predisponevo il check "ricorda sul computer" e all'atto della verifica di nome utente e password, se il check era settato, memorizzavo due cookie, uno per l'id utente e un altro con l'hash della password. All'inizio del codice php riservato mettevo un controllo su questi valori dei cookie e prelevavo dal db l'utente corrispondente. Chi conosce il funzionamento dei cookie sa che questi vengono trasmessi dal browser ad ogni caricamento di pagina relativamente al dominio/path di appartenenza e quindi sono facilmente intercettabili (senza https?), durante tutto l'arco della sessione di navigazione, a prenscindere dal fatto che possa farne uso una sola volta per caricare l'utente dal db o sempre ad inizio script.

    Senza predisporre l'opzione "ricorda sul computer", avrei potuto usare solo la $_SESSION per memorizzare l'id utente loggato una volta verificato, in questo modo l'id e la pass sarebbero passati in chiaro solo la prima volta, ma una volta chiuso il browser, addio sessione appunto.

    [ con https : ]

    Dovendo predisporre https, so che va abilitato nelle sezioni laddove è strettamente necessario, per non appesantire il server o per altri salcazzi di motivi (edit: anche se per un pannello di controllo forse è giusto abilitarlo ovunque?). La sezione strettamente necessaria è la pagina con la form di login (quindi niente form di login nella homepage nel caso di siti predisposti al login di clienti?). Una volta trasmessi nome utente e password ed eseguita la verifica lato php, si autorizza la sessione e si ritorna all'http, giusto?

    domanda: però da qusto punto in poi, non posso più utilizzare i cookie, vero? Altrimenti sarei costretto a mantenere https per tutte la pagine del sito, per proteggerli da occhi indiscreti, (ricordiamo che vengono trasmessi sempre dal browser?) e quindi...

    ...altra domanda: devo escludere la possibilità di predisporre l'opzione "ricorda sul computer" nel caso voglia fare uso di https?

    addendum: caso GMAIL. il login lo fa con https, però supporta il "ricorda su questo computer" :master: infatti se chiudo il browser e ricarico la pagina il giorno dopo, risono nella inbox senza passare da https, chissà come fa?

    Scusate il wall of text, ma sono dubbi che mi porto dietro e vi sarei grato se poteste chiarimi qualcosa, anche se non tutto.

  2. #2
    mi unisco alla tua richiesta di delucidazioni, pultroppo anche io sono carente da questo punto di vista..

  3. #3
    Utente di HTML.it L'avatar di Cerebro
    Registrato dal
    Jan 2005
    Messaggi
    193
    Uppino uppetto

    Aggiungo che noto ora il parametro secure della funzione setcookie():

    Indicates that the cookie should only be transmitted over a secure HTTPS connection from the client. When set to TRUE, the cookie will only be set if a secure connection exists. The default is FALSE. On the server-side, it's on the programmer to send this kind of cookie only on secure connection (e.g. with respect to $_SERVER["HTTPS"]).

    Non capisco perchè poi parli di server-side, dal momento che PHP è di per sé server side non vedo che bisogno c'è di specificarlo, bah.

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.