Есть вариант прописать это в php.ini:
session.gc_maxlifetime = 7200
Я храню сессии в директории сайта, как запретить доступ к ним?
Храните в директории, к которой нет доступа извне.
Есть шанс подмена идинтефикатора сессии и т.д
В этом случае можно усложнять систему защиты, например, к идентификатору привязывать недавний ip и user agent, и если они резко изменились, просить залогиниться заново, и т.п. На что фантазии хватит.