информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медАтака на InternetПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Ростелеком заподозрили в попытке... 
 Линуксовый ботнет, распространяющийся... 
 Конец поддержки Internet Explorer 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / beginners
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
Не подойдет 14.02.06 14:01  Число просмотров: 2314
Автор: Heller <Heller> Статус: Elderman
Отредактировано 14.02.06 14:04  Количество правок: 1
<"чистая" ссылка>
В том и дело, что надо запустить именно другой скрипт. К тому же сам скрипт должен нормально закончить свое выполнение, прежде чем что-то запустится (вообще это CGI-скрипт и первый скрипт должен вывести страницу, а уже после этого с некоторой задержкой второй скрипт должен обрабатывать результаты).
<beginners>
[UNIX] Планировка задачи 14.02.06 13:28  
Автор: Heller <Heller> Статус: Elderman
<"чистая" ссылка>
Есть скрипт на Perl, через несколько секунд после выполнения которого необходимо запустить другой скрипт. Собственно вопрос в том, как это можно реализовать в первом скрипте. На ум приходит только Cron, но решение выглядит излишне "некрасивым". Сам я в NIX'ах мало разбираюсь (как и в Cron), так что был бы признателен, если кто подскажет.
sleep 14.02.06 13:55  
Автор: fly4life <Александр Кузнецов> Статус: Elderman
<"чистая" ссылка>
http://www.perl.com/doc/manual/html/pod/perlfunc/sleep.html
Не подойдет 14.02.06 14:01  
Автор: Heller <Heller> Статус: Elderman
Отредактировано 14.02.06 14:04  Количество правок: 1
<"чистая" ссылка>
В том и дело, что надо запустить именно другой скрипт. К тому же сам скрипт должен нормально закончить свое выполнение, прежде чем что-то запустится (вообще это CGI-скрипт и первый скрипт должен вывести страницу, а уже после этого с некоторой задержкой второй скрипт должен обрабатывать результаты).
попробуй так 14.02.06 14:27  
Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
<"чистая" ссылка>
#End of my perl script

exec "/usr/bin/sleep 5 ;/path/to/new_script";

---

Единственная возможная проблема - если апач воспримет новый скрипт как продолжение процесса CGI. Тогда можно попробовать вызывать rfork(2) с флагами RFNOWAIT и RFCFDG. Либо использовать "&" в вызове.
Не получается 16.02.06 05:56  
Автор: Heller <Heller> Статус: Elderman
<"чистая" ссылка>
>
> #End of my perl script
> 
> exec "/usr/bin/sleep 5 ;/path/to/new_script";
> 

---
>
> Единственная возможная проблема - если апач воспримет новый
> скрипт как продолжение процесса CGI.
Так он его и воспринимает.

> Тогда можно
> попробовать вызывать rfork(2) с флагами RFNOWAIT и RFCFDG.
В Перле нет rfork (или это библиотечная функция?). Пробовал с обычным fork'ом, но не получается - ветвление происходит (возращается PID), но по завершении первого процесса Апач прибивает и дочерний (и в данном случае sleep он игнорирует). Попробую еще скомпилять код на Си с rfork'ом и вызывать его через exec, но уже не сегодня. Тогда сообщу о результатах.

> Либо использовать "&" в вызове.
Не понял. Это как? Что за "&"?
Не подойдет. В том и дело, что надо запустить именно _другой_ скрипт 14.02.06 14:04  
Автор: ZloyShaman <ZloyShaman> Статус: Elderman
<"чистая" ссылка>
Ну, так а нельзя в первом скрипте сделать sleep, а потом из него же./secondscript&
Суть проблемы 14.02.06 14:25  
Автор: Heller <Heller> Статус: Elderman
<"чистая" ссылка>
Пришли детишки на сайт и давай разговаривать в стиле "Админ казёл!". Разговаривают они много, то есть флудят. Причем это не тупой флуд, а нормальная осмысленная речь, которая не поддается статистическому анализу (посетители отвечают, что "Сам вы казлы", так что им есть с кем поговорить).

Бан по IP не помогает, так как дети знают что такое прокси. Правда, после бана их не слышно минут пять, так что сервера они, видимо, ищут и вбивают в браузере вручную, не прибегая к специализированному софту.

Можно банить их по кукисам, но они скорее всего просекут в чем дело и будут их удалять. Возникла такая идея: они отправляют сообщение, их запрос нормально обрабатывается, а через пару минут запускается второй скрипт, который их и банит. У детей полная иллюзия того, что админ глуп и настойчив и продолжают менять прокси. В конце концов это им надоест. По-моему идеально.

> Ну, так а нельзя в первом скрипте сделать sleep, а потом из
> него же./secondscript&

Так вот если реализовывать мою идею, то скрипт должен именно завершить свою работу, а потом дожен запуститься уже другой, который их забанит. Тут я вижу решение прописывать после каждого их поста задачу в Cron, но он не настолько гибок, как я знаю (сам работал с ним очень мало). Либо сейчас появилась идея в том же Cron'е поставить скрипт на запуск каджые пять-десять минут. Такой вариант мне тоже не очень симпатичен. Вот я и маюсь :)
Не понял, чем не устроило моё решение. 15.02.06 23:54  
Автор: ZloyShaman <ZloyShaman> Статус: Elderman
<"чистая" ссылка>
> Так вот если реализовывать мою идею, то скрипт должен
> именно завершить свою работу, а потом
Зачем? Он отработал свою главную часть (вставил сообщение в таблицу, оно появилось на сайте, иллюзия создана). Дальше он спит 2 минуты. Потом запускает другой скрипт, который это сообщение удаляет (или банит, или что там). Первый скрипт завершается. Что не так?
Пока первый скрипт не _завершит_ работу, Апач не отдает страницу 16.02.06 02:14  
Автор: Heller <Heller> Статус: Elderman
<"чистая" ссылка>
Правильно говорит товарищ Dmitry 16.02.06 20:46  
Автор: ZloyShaman <ZloyShaman> Статус: Elderman
<"чистая" ссылка>
Надо сбросить буфер. Сделай так:
http://www.google.ru/search?hs=QI7&hl=ru&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&q=perl+%D1%81%D0%B1%D1%80%D0%BE%D1%81%D0%B8%D1%82%D1%8C+%D0%B1%D1%83%D1%84%D0%B5%D1%80&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=lang_ru
А можно в скрипте написать что-то вроде "fclose(stdout);", чо будет, отдаст? 16.02.06 10:15  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
Как вариант - можно использовать переменную (файл) - флаг. 14.02.06 18:18  
Автор: Fighter <Vladimir> Статус: Elderman
Отредактировано 14.02.06 18:19  Количество правок: 1
<"чистая" ссылка>
Не понял 15.02.06 18:08  
Автор: Heller <Heller> Статус: Elderman
<"чистая" ссылка>
Т.е. типа семафор. 20.02.06 12:16  
Автор: Fighter <Vladimir> Статус: Elderman
Отредактировано 20.02.06 12:20  Количество правок: 1
<"чистая" ссылка>
Один скрипт все время крутится и ждет пока ему отмашку сделают, что можно начинать, другой в это время переходит в состояние ожидания. И наоборот. Или очередь событий организуй. Хотя я в Перлах не силен (полный ноль) и не знаю возможно там такое реализовать или нет.
Если это действительно "детишки" 14.02.06 15:46  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Пришли детишки на сайт и давай разговаривать в стиле "Админ
> казёл!". Разговаривают они много, то есть флудят. Причем
> это не тупой флуд, а нормальная осмысленная речь, которая
> не поддается статистическому анализу (посетители отвечают,

То разнообразием их флуд отличаться не должен. А байесова фильтрация - довольно неплохая штука. Кроме того, чтобы отвадить флудеров следует просто сбить им запал (настроение флудить достаточно быстро пропадает). Скажем, анонимных либо отключить на фиг либо фильтровать по байесу (на ложные срабатывания можно забить ибо если есть что сказать - можно зарегистрироваться). С регистрацией новых пользователей дело тоже решаемое: либо отложенная регистрация (новый аккаунт вступает в силу только после некоторого времени, скажем суток), либо регистрация с подтверждением по почте и бан по мыльному адресу (задолбаются регистрировать новые мыла), либо лимит регистраций за некоторый период времени (нормальные новые пользователи регистрируются не так уж часто, а флудеры флудят только пока "прет"). Можно и скомбинировать.

> что "Сам вы казлы", так что им есть с кем поговорить).
Не покатит 16.02.06 02:21  
Автор: Heller <Heller> Статус: Elderman
<"чистая" ссылка>
> То разнообразием их флуд отличаться не должен. А байесова
> фильтрация - довольно неплохая штука. Кроме того, чтобы
Ситуация у меня примерно такая же, какая была некоторое время на БагТраке с URIX'ом и Сетью. Только есть два отличия:
1. Частота новых постов раз в сто больше.
2. У меня нет scrap'а.
Но это именно нормальные посты, которые не отличишь от нормальной речи.

> отвадить флудеров следует просто сбить им запал (настроение
> флудить достаточно быстро пропадает). Скажем, анонимных
> либо отключить на фиг либо фильтровать по байесу (на ложные
> срабатывания можно забить ибо если есть что сказать - можно
> зарегистрироваться). С регистрацией новых пользователей
> дело тоже решаемое: либо отложенная регистрация (новый
> аккаунт вступает в силу только после некоторого времени,
> скажем суток), либо регистрация с подтверждением по почте и
> бан по мыльному адресу (задолбаются регистрировать новые
> мыла), либо лимит регистраций за некоторый период времени
> (нормальные новые пользователи регистрируются не так уж
> часто, а флудеры флудят только пока "прет"). Можно и
> скомбинировать.
У меня нет регистрации :). В данной ситуации ее введение убьет ресурс.
Тогда наверное надо назначить модераторов из числа постоянных и проверенных посетителей, если сам не справляешься 16.02.06 12:06  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2022 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach