Criar um login seguro usando sessões e cookies em PHP

Estou criando um script de login que gostaria de ser o mais seguro possível. O problema é que a segurança parece ser uma batalha sem fim. Então, basicamente, estou procurando sugestões e melhorias nas minhas idéias.

O que eu tenho é um login baseado apenas em sessões. Sempre que as informações da sessão mudarem,session_regenerate_id() é chamado para evitar tentativas óbvias de seqüestr

Quando a sessão não está definida, verifico um cookie para um login válido e, com sucesso, atualizo a sessã

Tento proteger o cookie adicionando um valor de hash junto com uma parte das informações exclusivas do usuário (como nome de usuário ou ID). Esse hash é composto de várias informações, incluindo nome de usuário / ID, hash de senha indecifrável, parte do endereço IP etc. Ao extrair o nome de usuário / id do cookie, eu posso criar um novo hash a partir das informações válidas do usuário e compará-las. com o hash no cookie. Minha esperança aqui é impedir cookies falsos e seqüestro de cookies (a menos que eles também falsifiquem o endereço IP

EDITA Suponha que o próprio login seja feito via HTTPS / SSL, para que a transferência seja (razoavelmente) segur

Estou no caminho certo? O que mais pode ser feito para proteger meu login?

Obrigado pela ajuda

questionAnswers(5)

yourAnswerToTheQuestion