2011-04-07 1 views
1

Je développe un nouveau type de HttpServer, Je voudrais soutenir la fonctionnalité de type Java HttpServer comment est-ce que l'on peut implémenter une telle fonctionnalité? Tout ce que je sais, c'est que vous devez générer une longue chaîne unique d'identifiant de session et l'envoyer via un cookie qui expire après un nombre configurable de minutes, et vous devez renouveler ce cookie à chaque réponse.Implémentation d'un ID de session dans le cadre de HttpSession?

mais est-ce que ça suffit? pourquoi personne ne peut essayer de deviner la chaîne de session-ids et essayer de détourner la session de quelqu'un d'autre?

Répondre

0

Si c'est assez long, il résistera à l'attaque par force brute pendant un moment. Si vous n'utilisez pas SSL, quelqu'un d'autre pourrait être capable de «sniffer» la clé de session sur le réseau.

+0

Combien de temps devrait-il être? C'est la seule mesure de sécurité? (disons que les gens ne peuvent pas renifler ce réseau) – KingDave

+0

Il peut y avoir d'autres mesures. Par exemple, vous pouvez exiger que cette session soit liée à une adresse IP particulière. Cela peut aider un peu, même si cela ne fonctionne pas très bien via des proxies. L'autre partie de la sécurité populaire est de protéger contre les attaques XRF. Fondamentalement chaque page génère un nouveau nonce supplémentaire, et cela doit être retourné à chaque fois. – MJB

0

La classe SecureRandom est un bon point de départ si vous souhaitez commencer à générer suffisamment d'ID de session. Il y a quelques autres choses à surveiller, notamment la taille de l'identifiant généré parmi d'autres. Vous pouvez vous référer à l'article "Secure Session Management With Cookies for Web Applications" pour plus de détails. La section traitant de la génération de valeurs entropiques est probablement ce dont vous avez besoin.