Не зарегистрирован
Вход
Забыли пароль?
Регистрация
Подписаться
Сэкономьте время — перед вопросом на форуме узнайте, как найти ответ быстрее
По техническим проблемам необходимо обращаться в Консультационный центр

Поиск по форуму: 

Приглашаем в блог Amiro.CMS. Регулярные обзоры, опыт, решения, практикумы.

Форум  ->   Разработка плагинов, вопросы по API  ->  Кэширование данных плагина

Раздел для разработчиков. Обсуждение создания плагинов, вопросы и пожелания по API Amiro.CMS

Добавлено: 05.11.13 22:18:20 #1




Регистрация: 09.10.11
Сообщений: 17


Обратиться по имени

Доброго времени суток. Написал мини-плагин, который представляет из себя форму авторизации. В нем используется переменная $_SERVER['REMOTE_ADDR'], значение которой вносится в hidden-поле и используется для авторизации. Проблема возникает с кэшированием данных, т.к. в определенный момент времени у всех клиентов поле заполняется одним и тем-же ip-адресом. Помогает только повторное сохранение страницы, на которой размещен плагин (в менеджере страниц) и обновление страницы на стороне клиента. Кэширование в настройках спецблока отключено, а также в коде самого спецблока использованы директивы
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
  header("Last-Modified: " . gmdate("D, d M Y H:i:s")." GMT");
  header("Cache-Control: no-cache, must-revalidate");
  header("Cache-Control: post-check=0,pre-check=0", false);
  header("Cache-Control: max-age=0", false);
  header("Pragma: no-cache");


Подскажите как решить проблему.



Добавлено: 06.11.13 09:10:28 #2

Амиро



Регистрация: 21.03.07
Сообщений: 261


Обратиться по имени

1. То есть заполнив hidden-поле самостоятельно можно подделать IP адрес?
2. Что мешает читать значение $_SERVER['REMOTE_ADDR'] после получения POST-запроса, POST-запросы не кэшируются.
3. HTTP-заголовки из скриптов, интегрированных в систему, нужно отсылать другим образом: http://manual.amiro.ru/docs/api6/Service/AMI_HTTPResponse.html#methodaddHeader , но на кэширование спецблока эти заголовки не повлияют.
4. Если всё-таки будет необходимо решить проблему с кэшированием спецблока, обратитесь в СП.



Добавлено: 06.11.13 09:26:07 #3




Регистрация: 09.10.11
Сообщений: 17


Обратиться по имени

Антон:
1. То есть заполнив hidden-поле самостоятельно можно подделать IP адрес?
Подделывайте сколько угодно...
Антон:
2. Что мешает читать значение $_SERVER['REMOTE_ADDR'] после получения POST-запроса, POST-запросы не кэшируются.

Да я как бы и сам догадался, вот только доступа к сервису, на котором происходит авторизация у меня нет, а уж тем более доступа для правки механизма авторизации
Антон:
3. HTTP-заголовки из скриптов, интегрированных в систему, нужно отсылать другим образом: http://manual.amiro.ru/docs/api6/Service/AMI_httpResponse.html#methodaddHeader , но на кэширование спецблока эти заголовки не повлияют.

Знаю, все равно не помогает



Добавлено: 06.11.13 09:43:31 #4

Амиро


Регистрация: 22.06.10
Сообщений: 920


Обратиться по имени

Здравствуйте.

Составьте запрос в Консультационный центр.



Ответы на большинство вопросов можно найти в базе знаний и в документации.


Создать новую тему

Всего тем: 6629
Всего сообщений: 27746
Всего зарегистрированных пользователей: 48914
Последний зарегистрированный пользователь: user74945798