[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не работает Антикэш
gloomen12
Всем привет, после переустановки ПО на сервере сталкнулся с такой

делемой.

Не срабатывает анти кеширование. Вот к примеру у нас есть капча:

http://www.captcha.ru/kcaptcha.zip, тестировал и на других!
Установил всё работает т.е. срабатывает антикеш: в ie5-8, firefox,

Хром, Сафари
А, вот в опере 9x, 10x нехочет, причём пробовал с нескольких ПК
Раньше был php 5.10, сейчас 5.12 и nginx/0.7.65
Сайт на котором всё это дело крутиться находиться в локальной сети

поэтому извне доступа нет.
Может быть в PHP есть заветная галочка подержка оперы, которую я не

поставил? smile.gif


вот код:

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("Pragma: no-cache");
header("Content-type: image/png");

Пробовал и так:

header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Cache-Control: no-store, no-cache,

must-revalidate');
header('Cache-Control: post-check=0, pre-check=0',

FALSE);
header('Pragma: no-cache');

if(function_exists("imagejpeg")){
header("Content-Type: image/jpeg");
imagejpeg($img2, null, $jpeg_quality);
}else if(function_exists("imagegif")){
header("Content-Type: image/gif");
imagegif($img2);
}else if(function_exists("imagepng")){
header("Content-Type: image/x-png");
imagepng($img2);
}






Спустя 20 минут, 36 секунд (18.03.2010 - 00:29) Nikitian написал(а):
<img src="./?<?php echo session_name()?>=<?php echo session_id()?>">

замените на
<img src="./?<?php echo session_name()?>=<?php echo session_id().'&rnd='.mt_rand(-time(),time());?>">

Спустя 10 часов, 26 минут, 54 секунды (18.03.2010 - 10:56) gloomen12 написал(а):
Попробовал радикальное решение:

<img src="kaptcha.php?rand=<?=mt_rand(1, 1000000);?>" alt="CAPTCHA" />


Результат: Результат работы в опере 9-10
- Загрузилась страница сгенерировал капча И ?rand=812055
- Нажимаю F5: генерируется новая капча и ?rand=893453
- Стоит нажать на кнопку "назад" в опере, страница переход на предедущую:
А, вот здесь старая капча(не сгенерированная), а также старый ?rand=893453
- Теперь нажимаем вперёд и опять старая капча и старый ?rand=893453
- А вот стоит только нажать F5 как всё прекрстно генерируется!
----------------------------------------------------
Это результат работы только в опере!, вовсе других браузерах(см. выше), работает, новое число генерируется
всегда, нажимаешь в браузере кнопку назад-вперёд всегда новая генерация.


P.S. Что самое интересно раньше в опере 9-10 работало до смены ПО на серваке (см. выше)
Что же за херня такая???

Спустя 1 час, 17 минут, 22 секунды (18.03.2010 - 12:13) Nikitian написал(а):


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("Pragma: no-cache");

Отдавайте это и для страницы, где каптча размещена. А вообще ненавижу оперу из-за её паранои всё кэшировать.

Спустя 48 минут, 42 секунды (18.03.2010 - 13:02) gloomen12 написал(а):
Попробовал, не сработало...
Может быть проблема в nginx?

Спустя 38 минут, 6 секунд (18.03.2010 - 13:40) Nikitian написал(а):
Может и nginx перебивает ваши хидеры своими. Посмотрите с какими заголовками вам приходит страница и сравните с заголовками, с которыми отправляется.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.