Код:
<?
/*
This is neccesary if session_autostart is off, overwise - may be safly removed.
And it MUST be first (before any output) string
*/
@session_start();
#Settings. May bi in other place: Config-file, DataBase etc...
$manlixfile = 'test.dat';
$manlix_period = 30; #In seconds
#Check acces, and save date into session
if (( $sec_diff = date('U') - @$_SESSION['manlix_last_date']) < $manlix_period){
exit('Wait more '.($manlix_period - $sec_diff).' second!');
}
else $_SESSION['manlix_last_date'] = date('U');
$manlix = file($manlixfile);
$manlixrandom = rand(0, sizeof($manlix)-1);
$manlixtext = $manlix[$manlixrandom];
if (!empty($QUERY_STRING))
echo "<font color=\"$QUERY_STRING\">$manlixtext</font>";
else echo $manlixtext;
#Save results
unset($manlix[$manlixrandom]);
file_put_contents($manlixfile, implode('', $manlix));
?>
Естественно Вы должны понимать что такая защита скорее "от дурака", и почистить куки много кто может догадаться. Впрочем сменить прокси задача не сложнее...
Ну и еще, все это конечно хорошо, но есть два момента тут еще:
1. При высокой нагрузке, это даст сбой из-за состояния гонки при записи и считывания одного и того же файла одновременно из разных потоков, хорошо бы делать блокировку. Но это уже для домашней работы.
2. А что будет если файл кончится? Тоже думаю проверить как эту, таки о ошибки записи...
В общем дерзайте, и все у Вас получится.