Incoerenze dei dati di sessione e pagine PHP [chiuso]

1

Ho un problema e non sono immediatamente sicuro su come risolverlo.

Ho creato un sistema di login sicuro su un server HTTPS (con un voto di "A" da SSL-labs, se questo vale qualcosa), e funziona bene, tuttavia oggi si rifiuta di collegarmi, con un po 'di debug ho trovato qualcosa di molto strano (a mio avviso).

Ho alcuni problemi seri con la gestione delle sessioni sul sito web, le diverse pagine usano gli stessi dati di sessione (ovviamente) e le stesse impostazioni di sessione / cookie, e passano le informazioni tra di loro correttamente, MA il comportamento del mio browser sembra essere come se ci fossero due browser che visitano gli stessi siti web, utilizzando gli stessi dati di sessione.

Sintomi - Poiché ho riscontrato incoerenze con contenuto di sessione generato dalla pagina (token hash univoco) che non corrispondeva agli stessi dati salvati nel modulo di accesso (come valore $_POST ), stavo riscontrando che esiste una sola riga nell'intero sito che imposta il valore della sessione, questa linea deve essere eseguita due volte. Così ho impostato un valore contatore nella sessione, come session['counter'] . Il mio problema è specificamente con questo:

Pagina di accesso:

Opens page,  
session hash-string is generated and saved to the post form.
session counter = counter + 1;
Form is filled in.

Pagina di autenticazione dell'autenticazione:

fails to verify the posted hash-string is the same as the session hash
 string, despite there being no other cause for the session values to
 change (well there must be, but I can't see it!)  

Ma tornando alla Pagina di accesso vedo che il contatore = ultimo valore + 2! Inoltre, il valore del contatore registrato sul file di sessione salvato sul server è sempre +1 al valore visualizzato nella pagina di accesso.

Alcune immagini:

Sinotichequestoèsopral'outputHTMLedèl'ultimopostonelcodiceincuisonostatimodificatiidatiSESSION.

Output:

Sipregadinotareilnumerorelativoalcontatorenell'immagine1.

Ilmiofiledisessione,questofileriguardaquestaspecificasessionedelbrowseresolo1filedisessionepoichésonol'unicobrowserdelsito.

La stringa CheckDrop è il valore di hash da confrontare ma il contatore è 12 anziché 11, che viene visualizzato nell'immagine 2 sopra.

  • Il mio sito è autenticato HTTPS sebbene questo lavoro sia su un sottodominio.

  • Questo tipo di problema non è mai accaduto prima per me.

  • Questo problema si è verificato nelle ultime 3 ore ma in modo incoerente , ha funzionato magicamente per circa 40 minuti prima (poco prima di pubblicare questo post). ma non avevo fatto nulla che potessi vedere come un cambiamento dell'ambiente.

  • Ho precedentemente confrontato i dati di phpinfo e sembra tutto corretto al punto di uscita del browser. Non sembra essere causato dalle mie impostazioni.

  • Succede su diversi browser sul mio PC.

Vorrei chiedere, ovviamente, qualche idea sul perché questo si sta verificando? Ma più specificamente a questo StackExchange, come posso confermare o verificare che non si tratti di una qualche forma di MITM o altra interferenza indesiderata? Ho paura che questo sia qualcuno / qualcosa nel mezzo del percorso da un server all'altro, ma vorrei sapere come posso verificare se è così e qualsiasi altro aiuto per confermare la connessione è sicuro.

Note: I posted a question on a similar over topic on StackOverflow, earlier, but this question on here is more specifically about the session counter anomaly. and about if it is indicative of interference.

    
posta Martin 17.11.2015 - 22:21
fonte

0 risposte

Leggi altre domande sui tag