Impostazioni di configurazione per le sessioni in php

3

Recentemente ho trovato le seguenti impostazioni di configurazione:

e ho alcune domande su di loro:

Usa la modalità rigorosa dice quanto segue :

session.use_strict_mode specifies whether the module will use strict session id mode. If this mode is enabled, the module does not accept uninitialized session ID. If uninitialized session ID is sent from browser, new session ID is sent to browser. Applications are protected from session fixation via session adoption with strict mode. Defaults to 0 (disabled).

La mia comprensione rudimentale è che crea sempre un ID di sessione per te, ma ho già visto un'altra opzione di configurazione con fa lo stesso. Quindi presumo che la mia comprensione sia sbagliata. Allora perché ne abbiamo bisogno? (Il più vicino che ho visto è che impedisce OWASP A9, ma non mi dà molte informazioni)

session.hash_bits_per_character :

allows you to define how many bits are stored in each character when converting the binary hash data to something readable. The possible values are '4' (0-9, a-f), '5' (0-9, a-v), and '6' (0-9, a-z, A-Z, "-", ",").

Da quanto ho capito, questo non contribuisce alla sicurezza, dice solo quali caratteri possono essere usati per la tua sessione. Più grande è il numero - più caratteri e quindi più piccola stringa. Quindi, perché non mettere 6 (invece di default 4 )?

Hash-funzione

Questo è chiaro, ma dalla grande lista di possibili funzioni , che è quello (presumo che il default md5 non sia buono) è preferibile?

P.S. prima di porre la domanda, ho letto questa risposta .

    
posta Salvador Dali 25.04.2014 - 01:35
fonte

1 risposta

2

session.hash_bits_per_character

Questo infatti influenza solo il modo in cui l'ID della sessione raw è codificato. In genere è possibile impostarlo su qualsiasi valore desiderato. Tuttavia, un valore di 6 porterà a cookie di sessione "dall'aspetto strano", poiché la virgola deve essere codificata con URL.

session.hash_function

Se l'ambiente PHP utilizza ID di sessione deboli senza entropia aggiuntiva (vedi session.entropy_file e session.entropy_length ), allora può diventare fattibile per recupera il seed del generatore di numeri pseudo-casuali di PHP tramite gli ID e lo usa per prevedere i valori futuri (capitolo 4.2). Un algoritmo di hash lento come Whirlpool o SHA-512 rende questo più difficile, perché trovare l'input originale dell'hash richiede più tempo. Ma ovviamente la vera soluzione a questo problema è di non utilizzare ID di sessione deboli in primo luogo.

session.use_strict_mode

Questo dovrebbe rendere più difficile gli attacchi di fissazione delle sessioni non consentendo a un utente malintenzionato di creare i propri ID di sessione. Vedi la corrispondente RFC per una descrizione più dettagliata delle idee alla base.

Tuttavia, un utente malintenzionato non ha di inventare i propri ID per eseguire un attacco di fissazione della sessione. Possono semplicemente ottenere un ID valido dall'applicazione e utilizzarlo. Quindi questa funzione è piuttosto discutibile.

    
risposta data 21.05.2014 - 06:57
fonte

Leggi altre domande sui tag