ANCORA PROBLEMI CON LE SESSIONI

Ciao ragazzi,

su alcuni siti utilizzo dopo l'autenticazione questo tipo controllo per le sessioni:

<?

session_start();

if ($_SESSION['login_effettuato'] != session_id())

esci else

presentami la pagina

?>

ho due questioni da porvi:

1) se questo tipo controllo è efficace in merito alla sicurezza.

2 lo stesso script funziona su 3 siti e su 1 solo no...attenzione lo script è idendito x tutti e 4

Cosa puo essere successo!??!

inviato 10 anni fa
maradona79
X 0 X

ah scusatemi l'errore che mi dai è:

Undefined index: login_effettuato in C:\......

risposto 10 anni fa
maradona79
X 0 X

Problema risolto:

la motivazione è questa... (o la causa..)

ho settato su apache un virtualhost  chiamato prova_xxx..

cambiando il nome in provaxxx tutto funziona correttamente...!!!!

risposto 10 anni fa
maradona79
X 0 X

Non vedo alcun legame tra nome dell'host e sessioni PHP, comunque se hai risolto meglio così...

La sicurezza non dipende tanto da quel controllo (abbastanza corretto) ma dal codice che verifica le credenziali dell'utente e setta la variabile di sessione.

Curiosità: non bastava settare $_SESSION['login_effettuato'] a true invece di impostarlo con l'ID di sessione?

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
modificato 10 anni fa
X 0 X

mi sembrava + complesso fare =  session_id()) ho letto da qualche parte che uno script del tipo login = ok è + facile da scoprire..

risposto 10 anni fa
maradona79
X 0 X

Scusate se ripesco un 3d così vecchio ma avevo la stessa identica domanda!

In buona sostanza, ho creato uno script per il login e, se l'utente si logga, parte una sessione. Se $_SESSION['logineffettuato'] è uguale a TRUE allora certi dati (il prezzo di un articolo, nella fattispecie) vengono visualizzati, altrimenti soltanto una immagine ed una descrizione (dell'articolo, ovviamente). Mi è stato fatto notare che questo modo di procedere ha problemi di sicurezza, ma nessuno mi ha spiegato il perchè. In questo 3d gianni ha detto che il problema risiederebbe nella verifica delle credenziali dell'utente, in che senso? Io ho scritto un semplice form, da $_POST prendo i dati e li confronto con quelli prelevati dal database; se uguali, allora imposto la $_SESSION['logineffettuatoì]=TRUE.

Ho un altra domanda: vorrei provare il sistema di conferma tramite email in locale; cosa devo fare? Devo modificare qualcosa in php.ini?

Grazie a tutti fin d'ora!!

risposto 8 anni fa
grifis78
X 0 X

Il metodo che hai illustrato non ha falle di sicurezza intrinseche.

Per la questione della posta ci sono molti messaggi sul forum a riguardo, fai una ricerca.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda