L'idéal c'est de le faire des 2 côtés,
Un délai assez long côté server, par exemple 1h, comme ca même le type qui désactive javascript sera déconnecte au bout d'un moment.
Et en javascript via XmlHttpRequest tu renvoie régulièrement le message "hého je suis là me déconnecte pas" (par ex toutes les 30min) si l'utilisateur a bougé la souris (ou pressé un touche clavier) entre temps.
Comme ca l'utilisateur peut remplir son formulaire tranquillou sans se faire déconnecter, et il restera pas nonplus indéfiniment connecté (ce qui est pas idéal si le visiteur se connecte depuis un PC public...).