Предположительно, комбинация имени пользователя и пароля для входа в систему не жестко запрограммирована в сценарии, а извлекается из какой-либо базы данных. В таком случае, почему бы просто не включить новый столбец для каждого пользователя. Это решает проблему, если пользователь просто удаляет куки-файл сессии при каждой третьей попытке.
База данных также позволит вам «заблокировать» учетные записи, когда она достигнет 3 неудачных попыток.
Если вы чувствуете, что действительно нуждаетесь в безопасности, вы можете использовать смесь сеансов и столбцов базы данных, но сохраняя данные сеанса в базе данных. У Google есть множество примеров того, как это сделать, используя функцию set_session_save_handler.