//error_reporting(E_ALL & ~E_DEPRECATED); //error_reporting(E_ERROR | E_WARNING | E_PARSE); error_reporting(-1); ini_set('display_errors',0); ini_set("date.timezone", "America/Mexico_City"); $sessionOptions=['read_and_close'=>true]; // este script no escribire en la sesion ////////////// if(!isset($_SESSION) && strpos($_SERVER['SCRIPT_NAME'],'serverSays') === false) { //OJO SERVER-TELLS llena $_SESSION de token y no quiere session_start session_set_cookie_params(0, "/$gWebDir/"); // en cada ajax que no escriba a session poner antes del primer include: $sessionOptions=['read_and_close'=>true]; session_start( isset($sessionOptions) ? $sessionOptions : [] ); //@TODO falta httponly=true, @TODO ya viene same_site=Strict, @TODO subir a https y poner secure=true //session.cookie_httponly = 1 //session.use_strict_mode = 1 //OPTIM-0 siempre que no se escriba a session ayuda antes de este include $sessionOptions=['read_and_close'=>true], ejemplo casi todos los ajax // es mejor que sess_start() y luego session_write_close(); // // void session_set_cookie_params ( int $lifetime [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]] ) // session_set_cookie_params, php will add session.cookie_samesite: i.e. `Strict` or `Lax`. }