через eval уже ничего не получится. т.к. если вы его запускаете то и из кода его можно запустить.
запускать надо в песочнице с обрезанными функциями через disable_functions, уже писали вам.
Обрезать надо все файловые и сетевые функции как минимум.
а так же ограничивать время выполнения
Почти всё что описали и так стандартная работа сессий.
К безопасности это добавляет примерно ничего.
Если вам нужна защита конкретно от угона сессий(хотя 99% сайтов работают и без этого,т.к. никому не упали).
Нужно в коде делать проверку по IP и/или браузеру(useragent).
И опять же это всё на сам механизм сессий-то никак не влияет. Тупо в той же сессии хранить хеш ip/браузера и в случае несовпадения сессию "разлогинивать" из под пользователя, удалять её нигде и чистить не надо, всё уже сделано за вас.
Кроме этого защиты ничего не прибавит.