Перейти к контенту
  • 0

Блокировка выполнения функции


akura

Вопрос

Не уверен, что правильно формулирую задачу, но попробую ..

 

Допустим есть некоторая функция, которая выполняет запуск скрипта, например:

 

class ХХХ_yy
{
function load_it()
{
	if (!$this->ipsclass->vars['XXXyy_enable'])
	{
		return false;
	}
}

 

Можно ли, как-нибудь заблокировать её выполнение, на определённый промежут времени.. допустим на 15 минут. Т.е. -> запуск страницы в браузере, функция сработала, скрипт в виде всплывающего окошка показался, установленное в его настройках время повисел на экране и пропал... и следующий, чтоб, его показ, при запуске этой страницы, был возможен только через 15 минут.

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Писать в БД (или в файл) время запуска функции, и добавить проверку прошедшего времени перед запуском.

function load_it()
{
	прочитать записанное время;
	if(time() - записанное время < 900)
	{
		if (!$this->ipsclass->vars['XXXyy_enable'])
		{
			записать time();
			return false;
		}
	}
}

Ссылка на комментарий
Поделиться на других сайтах

  • 0

идея понятна.. может кто напишет конечный вариант, для тех кто в танке )

 

кстати, а критерием отсчета в данном случае будет кук или IP ?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
кстати, а критерием отсчета в данном случае будет кук или IP ?

Я написал без привязки к пользователю.

Если один пользователь запустил функцию, то 15 минут (900 секунд) она будет недоступна никому.

Это может потребоваться например для генерации карты сайта: при запросе карты сайта происходит проверка последнего времени генерации. Если больше прошло - генерится новая; если меньше - отдается ранее сгенерированная.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Если один пользователь запустил функцию, то 15 минут (900 секунд) она будет недоступна никому.

а хотелось бы чтоб это работало сепаратно для каждого пользователя

 

зы: так как эта фишка предназначена только для гостей, то скорее всего надо привязываться к IP

Ссылка на комментарий
Поделиться на других сайтах

  • 0

я к сожалению в этом деле соображаю примерно как заяц в геометрии )

 

подскажите где такая или хотя бы похожая штука в 2.1 есть.. скопировать и подогнать может у меня получится

Ссылка на комментарий
Поделиться на других сайтах

  • 0
В сессии записать.

Флудконтроль поиска похоже по сессиям сделан - пару раз пробовал искать гостем, наблюдал. Наверное, можно или по аналогии сделать, или вообще код впрямую кусками взять.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

В 2-хе не знаю, а в 1.х - по таблице ibf_members

т.е. для гостей там вообще флуд-контроля нет.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
В 2-хе не знаю, а в 1.х - по таблице ibf_members

т.е. для гостей там вообще флуд-контроля нет.

Здесь, на айбиресурсе, несколько раз влетал на флудконтроль: не впрямую, а при повторном поиске просит залогиниться.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Да можно в принципе. Нужно создать в ibf_sessions новое поле.

Но ведь сессии могут грохаться. И не только по причине того что они заканчиваются.

 

А после того как они грохнутся там снова будет чистое поле, т.е. снова будет возможность воспользоваться твоей функцией. Т.е. жульничество проходит.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.