Estoy desarrollando una aplicación web de alojamiento y uso compartido de archivos.
¿Son las siguientes configuraciones de sesión PHP lo suficientemente seguras?
ini_set('session.cookie_httponly', 1);
ini_set('session.cookie_lifetime', 0);
ini_set('session.entropy_file', '/dev/urandom');
ini_set('session.hash_function', 'whirlpool'); //is whirlpool that necessary?
ini_set('session.use_only_cookies', 1);
ini_set('session.hash_bits_per_character', 5);
ini_set('session.cookie_secure', 1);
session_name('sid');
session_start();
if (!isset($_COOKIE['sid'])) {
$_SESSION['token'] = CryptoCharGen::alnum(); //20 chars
}
Para agregar a la seguridad:
- Vincular un token CSRF criptográficamente fuerte al usuario sesión para la validación de formularios.
- Regenerar un nuevo ID de sesión al iniciar y cerrar sesión y destruir la sesión anterior.
- Regenerando un nuevo token CSRF luego de enviar con éxito el formulario cualquiera .
He leído para cambiar el nombre del nombre predeterminado de la sesión de PHP, así que lo llamé sid
en su lugar. ¿Es eso lo suficientemente bueno?
¿Debo generar el ID de sesión con mi propio generador? (CryptoCharGen)
¿Debo preocuparme por cómo nombro mis variables de sesión?