Можно сделать так:
У нас есть файл в котором хранится некое уникальное число(зачем? сейчас расскажу

) + дата последнего обращения к странице(timestamp).
Когда человек обращается к странице происходит проверка даты последнего обращения.
Если, например, разница больше заданного интервала (скажем, минута), то генерится новое случайное число, записывается в куку пришедшему + перезаписывается файл с новой датой и случайным числом.
Иначе если разница меньше интервала, то читаем из куки клиента число и если оно совпадает, то обновляем дату в файле (можно ещё новое число сгенерить и послать клиенту); иначе отказываем в доступе

На PHP делается элементарно. Смотри функции time, rand, fopen/fclose, fwrite/fread, setcookie/$_COOKIES['']. Всё доступно на
http://www.php.net/