per il browser puoi usare
$_SERVER['HTTP_USER_AGENT'];
che torna una stringa con alcune informazioni tra cui browser e os.

per il provider puoi usare

gethostbyaddr('indirizzo_ip');

l'ip lo trovi con
$_SERVER['REMOTE_ADDR'];

per la nazione non so, avevo fatto la stessa domanda anch'io qualche giorno fa ma nessuno mi ha risposto