would work.
IP addresses can be shared by multiple users using the same host and therefore will not serve as a unique session id.
The userid (retrieved with $ENV{REMOTE_USER}) is no good either because multiple users could share a userid and logon concurrently. Example: company has a subscription on a web magazine and multiple employees can view pages using the company userid.