Member
Статус: Не в сети Регистрация: 27.12.2005 Откуда: Planet Earth
люди, помогите к гостевой книге на флаш+пхп+txt(file) флуд контрол написать. это вообще возможно? мне надо, чтобы можно было постить определенное количество постов например 1 сообщение в день. - is it possible ?
СПАСИБО!!
или придложите что-то другое на флаш+пхп можно с датабазой, не имеет значения ..
+
помогите с ГМТ разобраться в коде
Код:
extract($HTTP_POST_VARS); header("Expires: ".gmdate("D, d M Y H:i:s", time() + 3600)."GMT"); header("Cache-Control: no-cache, must-revalidate");
это , time() + 3600) на работает почему-то нужно чтобы было ГМТ +2.
Member
Статус: Не в сети Регистрация: 10.12.2003 Откуда: Харьков
ну я попробую.
ну проще всего вешать человеку куку со временем жизни в 1 день. Значение её не имеет вобщемто значения, можно допустим 1.
В том случае, если челове, который постит уже имеет эту куку - отказывать ему в обслуживании. Правда если он зачитст или отключит куки или сменит компьютер/пользователя - всё пропало.
Назначить эту куку можно следующим кодом:
Идентификация флуда в данном случае должна проходить примерно следующим путём:
Код:
if(isset($_COOKIE['my_cookie_name'])){ #код, которым ты будешь материть флудеров }else{ #код, которым будет добавлять пост, видимо он уже у тебя есть }
Собственно setcookie нужно помещать в секцию else Ну это был самый простой ваиант.
header("Expires: ".gmdate("D, d M Y H:i:s", time() + 3600)."GMT");
Текущая таймзона должна быть установленна программно или в настройках сервера. например так
Код:
setlocale(LC_TIME, 'en_US');
Таким образом ты должен указать таймзону сервера на котором хостится сайт. Это был пример для штатов. Кажется локаль должна быть настроена ещё хостером. Однако её мона сфорсировать. Вот например для россии и украины.
Хотя насчёт россии я не уверен, в отличии от Украниы там много таймзон.
Если ты не можешь вычислить локаль - то не пользуйся gmdate а пользуй strftime, а в ней просто вычти 2 часа в секундах от time()
Добавлено спустя 12 минут, 21 секунду Кстати имена локализаций могут отличаться в плане отсутствия или наличия на сервере какйто либо. Это зависит в первую очередь от версии/типа OC. Например в линухе нет некоторых локализаций, что есть в FreeBSD. знать какие есть можно с помощью unix команды locale -a, лежат файлы физически в каталоге /usr/share/locale , их мона самому докладывать вручную. Как смотреть в винде не имею понятия. Но вроде php тянет стандартные локализации, которые зарегестрированы в винде и доступны через контрол панель - региональные настройки, но за это не ручусь Добавлено спустя 24 минуты, 25 секунд ну собственно для расмотрения других вариантов нет достаточной информации о системе. Да и в форуме помочь создать такую систему невозможно учитывая как я понял неглубокие знания автора.
Чтож, у тебя есть повод научиться чемуто полезному, например выучить php.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения