|
|
|
| А как сделать чтобы пользователь мог попасть на страницу только раз в 6 часов? Мне это достаточно срочно! Буду очень благодарен! | |
|
|
|
|
|
|
|
для: @ndry
(15.08.2005 в 09:10)
| | Данные на странице важные и секретные?
Тогда наверное только так:
1. Все пользователи могут войти на страницу только после авторизации.
2. Во время авторизации пользователя Вы запоминаете время его захода и повторную авторизацию разрешаете только по прошествии 6 часов.
Есть правда еще случай: если пользователь зашел на страницу и там сидит все 6 часов. Но тут уже Вам решать стоит его "выгнать", например, по прошествии 30 минут после его захода или пусть себе сидит сколько хочет. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(15.08.2005 в 09:24)
| | Нужно чтобы пользователь мог добавить новость только раз в 6 часов, данные не секретные и от "чужаков" защищены! Мне просто нужна помощь в реализации | |
|
|
|
|
|
|
|
для: @ndry
(15.08.2005 в 09:32)
| | А механизм авторизации реализован, т.е. одного посетителя от другого можно отличить? | |
|
|
|
|
|
|
|
для: cheops
(15.08.2005 в 12:23)
| | Да, у каждого пользователя свой логин, имя, фамилия. (логин - $_SESSION['username']) | |
|
|
|
|
|
|
|
для: @ndry
(15.08.2005 в 16:00)
| | Ну так и заведите для каждого логина в базе поле со временем последнего посещения (добавления темы или создания чего-то-там) | |
|
|
|
|
|
|
|
для: Loki
(15.08.2005 в 16:06)
| | Ну днло в том что именно это у меня и не получаеться только лучше файл использовать отдельный (записовать в нём тыпа nikson|15.08.2005 16:08)!
У меня все пользователи храниться в не в БД, а в файле! | |
|
|
|
|
|
|
|
для: @ndry
(15.08.2005 в 09:10)
| | я реализовал это через создание файла lock.dat я проверял его дату создания и сравнивал с текущей. Если он создан к примеру через 6 часов, то файл перезаписываем. А доступ разрешаем. | |
|
|
|
|
|
|
|
для: Akira
(15.08.2005 в 14:53)
| | >А как сделать чтобы пользователь мог попасть на страницу только раз в 6 часов?
ИМХО бредовая идея, если пользователи будут флудить то это можно
поправить через модер_центр, редактированием контента сообщений,
если такой имеется, а если совсем надоедает какой_нить тип забанить его
по нику , на крайняк по IP... | |
|
|
|
|
|
|
|
для: method
(15.08.2005 в 16:13)
| | Я не всегда могу наблюдать за своим сайтом, флудер может зарегестрироваться ещё раз, у диалапчиков ИП постоянно меняеться, модер центра новостей нет! Просто нужно запретить злоупотребять блоком новостей! | |
|
|
|
|
|
|
|
для: method
(15.08.2005 в 16:13)
| | Вставишь это перед добавлением сообщений:
<?php
$pref_d = "data/users/setings/";
$pref_r = ".txt";
$_SESSION['login'] = $login;
$server_time = $server_time + time();
$file_user = @file($pref_d.$login.$pref_r);
$chek_time = explode("|", $file_user[0]);
if(($server_time - rtrim($chek_time[1])) < 360){
exit;
}
else{
//записываем сообщение
}
?>
|
PS:время записывай в секундах(time())... | |
|
|
|
|
|
|
|
для: method
(15.08.2005 в 16:38)
| | Большое спасибо | |
|
|
|
|
|
|
|
для: @ndry
(15.08.2005 в 16:44)
| | Можно в одном файле всё хранить,
и запись в него производить ,
(обновлять время при добавлении сообщений
сам делай) в стиле:
nikson|1123954745
rEd_bul|1123954745
Palkin_Fedy|1123954745
Elizaveta|1123954745
|
Тогда проверка будет следуйщей:
<?php
$file_times = "data/users/times.txt";
$_SESSION['login'] = $login;
$server_time = $server_time + time();
$file_array = @file($file_times);
foreach($file_array as $user){
$chek_time = explode("|", $user);
if($chek_time[0] == $login && (($server_time - rtrim($chek_time[1])) < 360)){
Header("location:index.php");
exit;
}
else{
//записываем сообщение
}
}
?>
|
| |
|
|
|