- Tudo o que você pode fazer é criar uma identidade falsa exclusiva para o usuário
- Não. Vários usuários podem ter o mesmo endereço IP e um único usuário pode alterar seu endereço IP
- Sim. O PHP criará uma sessão para você assim que você pedir para iniciar uma sessão. Você deve associar uma identidade a esta sessão. Basta usar um número aleatório, ou um gerador de UUID, ou algo assim para gerar algo único e difícil de adivinhar. Em seguida, armazene a identidade em um cookie para que, quando o usuário voltar algum tempo depois, você possa reassociar sua identidade à nova sessão.
- Eu apenas armazenaria a identidade no cookie. Um cookie contém apenas uma pequena quantidade de informações e pode ser modificado pelo usuário sem que você saiba.
- Se os usuários não fizerem login, não vejo outra maneira.