Если это так, уникальная для каждого пользователя, тогда этого должно быть достаточно. Даже если это будет одинаково для продолжительности сеанса пользователя, все равно ОК, но я бы предложил периодически генерировать его. Также вы можете использовать разные токены для каждой формы. Например, если у вас есть форма для входа в систему и комментарии, лучше использовать для них разные токены, но это не на 100% необходимо.
Почему вы предполагаете, что только потому, что кто-то говорит, что ваш сайт уязвим, это связано с подключением CSRF? У них так много других возможных уязвимостей.
Возможно, ваш веб-сервер устарел и уязвим, возможно, версия php не самая последняя. Возможно, пользователь смог войти на ваш сервер через ssh или telnet. Возможно, пользователь смог угадать пароль администратора.
Возможно, пользователи могут войти в систему через cookie и сохранить учетные данные для входа в файлы cookie.
Слишком много вещей, кроме CSRF, которые могут быть использованы. Существует также вероятность того, что пользователь ошибается или не знает, что он говорит, или, может быть, просто хочет нервничать.
Вероятно, это зависит от того, как часто вы меняете эту случайную строку; каждый пользователь должен получить свои собственные, и я предлагаю регулярно его вращать, поэтому случайные раскрытия не слишком опасны. – sarnold
Каждый раз, когда они загружают страницу, она изменяется, если она еще не установлена. –