Ну, сервер, на котором вы должны сосредоточиться, я думаю. Я доставлял пользователю маркер защиты от подделки, который должен был удерживать клиентский скрипт для перехода к следующему сегменту, а затем каждый раз проверял временную метку на сервере.
Этого также не нужно делать с помощью нажатий на кнопки с задержкой, вы можете и, вероятно, скрыть все это так, чтобы пользователь ничего не знал, и публиковать предупреждение только тогда, когда пользователь начинает продвигаться слишком быстро. В противном случае они будут следить за появлением кнопки и ее отвлечением. Если вы идете по этому маршруту, убедитесь, что вы можете мигать предупреждение через равные промежутки времени. Если вы подождете, скажите до конца 30-минутного модуля, чтобы сообщить вашему пользователю, что ему нужно потратить на него не менее 20 минут, а они просто просмотрели его за 10, они не собираются возвращаться и перечитывать его, они ' Я просто посижу и подожду. AJAX, вероятно, была бы хорошей идеей для такого сайта, так что вы можете хорошо следить за тем, что происходит на компьютере пользователя, и это сделает всю систему намного труднее обойти.
Вы, вероятно, должны также наказать пользователей за попытку быстрого продвижения очень , если они нажмут кнопку "Далее" в первые несколько секунд посещения слайда в первый раз, откроется полноэкранный "очень серьезный" предупреждение, объясняющее, что им нужно прочитать слайд или что-то в этом роде, и не позволяйте им закрывать этот слайд в течение 30 секунд или чего-либо еще, возможно, дольше для повторных нарушителей.