помогите пожалуйста, уже выбился из сил.
спасибо.
P.S. Модераторы не удаляйте пожалуйста эту тему. Пока не научусь создавать глобальные переменные не отступлюсь.
Но чего то мой сервак не поддерживает.
Моя задача хранить данные в памяти пхп и время от времени их обновлять. КАК ЭТО СДЕЛАТЬ?
Саныч
Отправлено: 04 Января, 2012 - 11:57:33
Участник
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
Помог: 62 раз(а)
Для начало неплохо было бы научиться читать.
Я ж вам написал уже:
Саныч пишет:
А в вашем случае нужны сессии.
Еще добавлю, можно куки, но это уже будет храниться на машине пользователя.
Еще вариант - записывать в файл.
Еще - в базу.
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
sKaa
Отправлено: 04 Января, 2012 - 11:59:14
Частый посетитель
Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011 Откуда: Россия г. Нижний Новгород
Помог: 25 раз(а)
[+]
Паттерн Registry, пожалуй можно даже запилить с интерфейсом ArrayAccess, Countable, магические __set __get методы. Можно даже с синглтоном если вы новичок )))
Вдаваться тут в подробности как и че не особо хочется потому-что возможно я неправильно интерпретировал в своем понимание ваше туманное :
dmitry пишет:
хранить данные в памяти пхп и время от времени их обновлять
dmitry
Отправлено: 04 Января, 2012 - 12:23:24
Новичок
Покинул форум
Сообщений всего: 27
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
С сессиями попробовал работает отлично! Но вопрос в следующем:
Сессии на ботов распространяются или они только если браузером открывается страница?
этот код меня от ДДОС атаки как нибудь спасет? Если да то может как то его можно оптимизировать?
Мелкий
Отправлено: 04 Января, 2012 - 13:36:57
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
От DDoS атаки вас не спасёт любой вариант на PHP. Решать надо уровнем ниже. И то не спасёт, а лишь отсрочит критический момент.
Однако, судя по названию переменных - вам нужен не антиDDoS, а антифлуд.
dmitry пишет:
Сессии на ботов распространяются
Только если бот высылает сессионную куку. Если у вас используется авторизация - высылает всегда. Если нет - как получится.
В общем, опишите исходную проблему.
----- PostgreSQL DBA
dmitry
Отправлено: 04 Января, 2012 - 14:00:04
Новичок
Покинул форум
Сообщений всего: 27
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
Мелкий пишет:
От DDoS атаки вас не спасёт любой вариант на PHP. Решать надо уровнем ниже. И то не спасёт, а лишь отсрочит критический момент.
Однако, судя по названию переменных - вам нужен не антиDDoS, а антифлуд.
dmitry пишет:
Сессии на ботов распространяются
Только если бот высылает сессионную куку. Если у вас используется авторизация - высылает всегда. Если нет - как получится.
В общем, опишите исходную проблему.
на пхп пытаюсь создать простой антиддос, задача хранить значение в переменной.
хранение в базе, куках, файлах и т.д. не подходят. ТОЛЬКО В ПЕРЕМЕННОЙ.
уточните пожалуйста, т.е. если какой то скрипт обратится к моему файлу, то сессия не будет создана? Для меня это очень важно понять. Если сессия не будет создана то данный вариант мне не подходит.
Саныч
Отправлено: 04 Января, 2012 - 14:09:58
Участник
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
Помог: 62 раз(а)
Почитайте про сессии подробно, а именно про то, как они работают.
Сессию устанавливаете вы, для каждоко клиента своя сессия, хранится она на сервере. Возникает вопрос: "А как же при следующем заходе мы определим, где чия сессия?". Вот для этих целей вы отсылаете клиенту (браузеру, боту, не важно кому) запрос на установку куки. В ней хранится идентификатор вашей сессии. При последующем обращение он (клиент) должен прислать вам эту куку, по ней вы и узнаете сессию. Если он этого не сделает, то естественно и сессии никакой не будет.
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
Мелкий
Отправлено: 04 Января, 2012 - 14:14:51
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Ещё раз: защиту от DDoS надо делать уровнем ниже.
dmitry пишет:
хранение в базе, куках, файлах и т.д. не подходят. ТОЛЬКО В ПЕРЕМЕННОЙ.
Невозможно. PHP работает по принципу отработал-умер.
Хранение данных в оперативной памяти - memcache.
dmitry пишет:
если какой то скрипт обратится к моему файлу, то сессия не будет создана?
Создана сессия будет всегда. Использована ли при повторном обращении - только если клиентом будет передан каким-либо способом идентификатор сессии (кука или get-параметр).
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.