php сам генерирует уникальный идентификатор сессии который можно получить с помощью session_id (и изменить его кстати тоже). Зачем изобретать велосипед?
Виталий, затем что проверка возможности работы с сайтом в целом это не уровень разграничения прав доступа для которого используются фильтры, к тому же нужно понимать что использование фильтров с правилами при решении конкретно этой задачи приведет к просто к вызову массы дополнительных ненужных действий
lingualeo разве позволяет повторять выученные слова, которые сам добавил? я вот для теста установил его - добавил десяток своих новых слов, прошелся по ним - все слова отметились как выученные и все вот уже 3-й день нет никаких заданий для их повторения...